题解
【入门】词组缩写
1 条题解
-
0
解题思路
用变量记录当前是否在单词中,遇到每个新单词的第一个字母就转成大写并输出。
参考代码
#include <iostream> using namespace std; int main() { char c; bool word = false; while (cin.get(c)) { // 空格表示一个单词结束,下一个字母就是新单词的开头。 if (c == ' ') { word = false; } else if (!word) { // 小写字母减去'a'再加上'A',就能变成对应的大写字母。 if (c >= 'a' && c <= 'z') c = c - 'a' + 'A'; cout << c; word = true; } } // 每个单词只输出一次首字母。 return 0; }复杂度分析
代码只使用了简单变量、循环和字符串。设输入长度为 n,时间复杂度为 O(n^2)(若有嵌套枚举则按实际循环计算),额外空间复杂度为 O(n)。
- 1