557. Reverse Words in a String III

題目

557. Reverse Words in a String III

解題思路

遇到空格就把之前的單詞反轉;到結尾的時候也要做一次反轉

具體代碼

class Solution {
public:
    void swap(string &s, int start, int end) {
        while (start < end) {
            char tmp = s[start];
            s[start++] = s[end];
            s[end--] = tmp;
        }
    }
    string reverseWords(string s) {
        int start = 0;
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == ' ') {
                swap(s, start, i - 1);
                start = i + 1;
            }
        }
        if (start < s.size())
            swap(s, start, s.size() - 1);
        return s;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章