557. 反轉字串中的單詞
阿新 • • 發佈:2018-12-26
給定一個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。
示例 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型別,雙引號是字串型別。