【笔记】句子中单词逆序输出
1 #include <iostream>
2 #include <string>
3 #include <stack>
4
5 using namespace std;
6 int main()
7 {
8 string str ="I live in cnblogs.com";
9 stack<char> cStack ;
10 for(int i=0,w=0;i <str.length(); i++)
11 {
12 if (str[i]==' '||i==str.length()-1)
13 {
14 if(i==str.length()-1 && str[i]!=' ') //处理最后一位不是空格的情况。
15 cStack.push(str[i]);
16 while (cStack.size() > 0) //每个单词逆序
17 {
18 str[w] = cStack.top();
19 cStack.pop();
20 w++;
21 }
22 w = i + 1; //进入下一位的处理
23 }
24 else
25 {
26 cStack.push(str[i]);
27 }
28 }
29 cout<<str;
30 return 0;
31 }
要求 : 句子中单词逆序输出
输入:I live in coblogs.com
输出:I evil ni moc.sgolbnc
此程序不会申请新的内存空间。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步