class Solution {
public:
string reverseWords(string s) {
//第一种
// int left = 0, right = s.size() - 1;//right = len(s) - 1;
// for(int i = 0; i < s.size(); i++){
// if(s[i+1]==' ' || s[i+1] == '\0'){
// right = i;
// while(left < right){
// swap(s[left],s[right]);
// left++;
// right--;
// }
// left = i+2;
// }
// }
//第二种
int left = 0, right = s.size()-1;
for(int i = 0; i < s.size();i++){
if(s[i] == ' ' || s[i+1] == '\0'){
if(s[i+1] == '\0') {
right = i+1 ;
}
else{
right = i;
}
//reverse的截取长度要比反转长度大1
reverse(s.begin()+ left,s.begin()+right);
cout<<left<<right<<endl;
left = i+1;
}
}
return s;
}
};
Leetcode第557题:反转字符串中的单词
最新推荐文章于 2024-11-11 20:59:17 发布