题解 | #字符串最后一个单词的长度#
字符串最后一个单词的长度
https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da
#include <cstddef> #include <iostream> #include <string> int main() { std::string input; std::getline(std::cin, input); int cnt = 0; for (char c : input) { cnt++; // in case of no space if (c == ' ') { cnt = 0; } } std::cout << cnt << std::endl; }
总结:
- 使用std::getline获取带空格的输入字符串
- 基本思路:遇到空格,计数器归0,反之计数器++
- 但如果字符串本身无空格,计数器就会一直是0,因此第2点需要反过来:遇到字符,计数器++,如遇空格,计数器归0
- 不建议采用 while (std::cin >> input) 的做法,因为下次题目可能使用非空格(例如#)分隔字符串