力扣151. 反转字符串中的单词

暴力思路:找出所有单词后再反转,需要辅助空间。
1 class Solution { 2 public: 3 string reverseWords(string s) { 4 if (s.size() <= 1) { 5 return s; 6 } 7 vector<string> v; 8 string temp; 9 if (s[0] != ' ') temp.push_back(s[0]); 10 for (int i = 1; i < s.size(); ++i) { 11 if (s[i - 1] != ' ' && s[i] == ' '){ //单词尾 12 v.push_back(temp); 13 temp = ""; 14 } else if (s[i - 1] == ' ' && s[i] == ' '){ //多空格 15 continue; 16 } else { 17 temp.push_back(s[i]); 18 if (i == s.size() - 1) { 19 v.push_back(temp); 20 } 21 } 22 } 23 string res = ""; 24 for (auto it = v.rbegin(); it != v.rend(); ++it) { //反转 25 res += *it; 26 res.push_back(' '); 27 } 28 res.pop_back(); //删除尾部多余空格 29 return res; 30 } 31 };
浙公网安备 33010602011771号