字符串反转有麻烦

时间:2018-06-27 03:23:35

标签: c++

class Solution {
public:
    string reverseWords(string s) {
     int previousWhiteSpace = 0;
     for(int i = 0; i <= s.size(); i ++){
         if(isspace(s[i]) || i == s.size()){
            for(int j = previousWhiteSpace; j < i/2; j++){
            char temp = s[j];
            s[j] = s[i-1-j];
            s[i-1-j] = temp;
            }
         previousWhiteSpace = i + 1;
         }
     }
    return s;
    }
};

嗨。因此,我函数的目标是反转字符串的输入。因此,例如,如果给我“让我们参加LeetCode竞赛”,则我的函数应返回“ s'teL ekat edoCteeL tsetnoc”。但是,目前我的功能仅返回 “参加LeetCode竞赛”。我有一个计数器,我将其表示为previousWhiteSpace,以跟踪似乎适用于第一个单词的每个新单词的开头,而不跟踪其余单词。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:-1)

您只需将“” 分配给变量 previousWhiteSpace ,而无需增加。因此,您的代码将自动检测空格,直到字符串结尾,并在每个空格之后运行代码。由于已将值分配为0,因此它将仅对第一个单词执行结果,并且它将终止。