1. 程式人生 > >557. 反轉字串中的單詞

557. 反轉字串中的單詞

給定一個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。

示例 1:

輸入: "Let's take LeetCode contest"
輸出: "s'teL ekat edoCteeL tsetnoc" 
string reverseWords(string s) {
        int front = 0;
        for(int i = 0; i <= s.length(); ++i){
            if(i == s.length() || s[i] == ' '){
                reverse(&s[front], &s[i]);
                front = i + 1;
            }
        }
        
        return s;
    }

reverse()函式

c++ < algorithm > 中定義的reverse函式用於反轉在[first,last)範圍內的順序 (傳地址)

例如,交換vector容器中元素的順序

vector<int> v={1,2,3,4,5};
reverse(v.begin(),v.end());//v的值為5,4,3,2,1

當然,你也可以通過它方便的反轉string類的字串

string str="C++REVERSE";
reverse(str.begin(),str.end());//str結果為ESREVER++C

單引號是char型別,雙引號是字串型別。