翻转单词顺序列
题目描述
例如,“student. a am I”。正确的句
class Solution { public: string ReverseSentence(string str) { if(str.size()==0) return str; if (str.size() == 0) return str; reverseWord(str, 0, str.size() - 1); int start = 0; int end = 0; for (int i = 0; i<=str.size(); i++) { if (str[i] == ' '|| i == str.size()) { end = i - 1; reverseWord(str, start, end); start = i + 1; } } return str; } void reverseWord(string& str,int start,int end){ if(str.size() == 0) return ; while(start < end){ char tmp = str[start]; str[start] = str[end]; str[end] = tmp; ++ start; --end; } } };
子应该是“I am a student.”。