LeetCode 557. 反轉字串中的單詞 III(C++)
阿新 • • 發佈:2018-12-26
給定一個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。
示例 1:
輸入: "Let's take LeetCode contest" 輸出: "s'teL ekat edoCteeL tsetnoc"
注意:在字串中,每個單詞由單個空格分隔,並且字串中不會有任何額外的空格。
C++
class Solution { public: string reverseWords(string s) { int n=s.length(); vector<int> temp; for(int i=0;i<n;i++) { if(s[i]==' ') { temp.push_back(i); } } int m=temp.size(); if(m==0) { reverse(s.begin(),s.end()); return s; } reverse(s.begin(),s.begin()+temp[0]); for(int i=0;i<m-1;i++) { reverse(s.begin()+temp[i]+1,s.begin()+temp[i+1]); } reverse(s.begin()+temp[m-1]+1,s.end()); return s; } };