- 绝对不要用stack.size()在弹出的时候做循环,因为它得大小是动态变化的。
#include<bits/stdc++.h>
class Solution {
public:
string ReverseSentence(string str) {
string res;
if(!str.length()) return "";
stringstream ss(str);
stack<string> stk;
string s;
while(getline(ss, s,' ')){
stk.push(s);
}
int size = stk.size();// 不要变pop然后这个做为size大小,必须先赋值给其他变量。
for(int i = 0; i< size; i++){
if(i!=size-1){
res+= stk.top()+' ';
}else{
res+= stk.top();
}
stk.pop();
}
return res;
}
};
京公网安备 11010502036488号