s[i] !=’ ’ && i>=0越界问题
力扣:剑指offer 58-1 翻转单词顺序如输入字符串
class Solution {
public:
string reverseWords(string s) {
string res;
if (s.empty()) {return res;}
int i,j;
for (j = s.size()-1;j>=0;--j) {
if (s[j] != ' ') {
i = j;
while ( s[i] !=' ' && i>=0 ) {--i;} //***************这块造成越界!!!!!!
for (int k=i+1; k<=j;++k) {
res.push_back(s[k]);
}
res.push_back(' ');
j=i;
}
}
if (res.size()>0) {res.pop_back();}
return res;
}
};
但是将s[i] !=' ' && i>=0
换成 i>=0 && s[i] !=' '
就没有问题了!!!