题解 | #翻转单词序列#

翻转单词序列

https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

class Solution {
  public:
    string ReverseSentence(string str) {
        if (str.size() == 0) {
            return str;
        }
        string res;
        int j = str.size() - 1;
        int i = str.size() - 1;
        while (j >= 0) {
            while (j >= 0 && str[j] != ' ') {
                j--;
            }
            res += str.substr(j + 1, i - j);
            res+=' ';
            // 跳过空格
            while(j >= 0 && str[j] == ' '){
                j--;
            }
            i = j;
        }
        return res.substr(0,res.size()-1);
    }
};

双指针,记录每一个单词的起始位置和长度,然后进行字符串添加即可。

全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务