首页 > 代码库 > [leetcode-557-Reverse Words in a String III]
[leetcode-557-Reverse Words in a String III]
Given a string, you need to reverse the order of characters in each word within a sentence while
still preserving whitespace and initial word order.
Example 1:
Input: "Let‘s take LeetCode contest"
Output: "s‘teL ekat edoCteeL tsetnoc"
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
思路:
用一个vector<vector<char> >收集所有的字符,空格为单词分割符,将每一个单词翻转后,输出即可。
感觉思路还比较朴素,但是看上去很啰嗦。
string reverseWords(string s) { if(s == "")return s; vector<vector<char> >sentence; vector<char>word; int i=0; while(s[i] != ‘\0‘) { if(s[i]!=‘ ‘) { word.insert(word.begin(),s[i]); } else { sentence.push_back(word); word.clear(); } i++; } sentence.push_back(word); char res[100000];//太小 要用100000 int ind =0; for(int i=0;i<sentence.size();i++) { for(int j=0;j<sentence[i].size();j++) { res[ind] = sentence[i][j]; ind++; } res[ind] = ‘ ‘; ind++; } res[ind-1] = ‘\0‘; return res; }
[leetcode-557-Reverse Words in a String III]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。