- 绝对不要用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; } };