leetcode - Reverse Words in a String
来源:互联网 发布:javascript hide div 编辑:程序博客网 时间:2024/06/05 10:30
题意:
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
Update (2015-02-12):
For C programmers: Try to solve it in-place in O(1) space.
click to show clarification.
思路:先将字符串中连续空格删除,不同单词之间仅保留一个空格。同时将开始的空格删除,结尾的空格删除。然后将字符串进行就地逆置,将字符串的各个单词进行就地逆置。
class Solution {public: void delete_kong(string &s) { int i = 0; int len = s.length(); int index = 0; for(i = 0;i<len;i++) { if(s[i] == ' ') continue; else break; } int j = i; for(j = i;j<len;j++) { if(s[j] == ' ' && j+1<len && s[j+1] == ' ') { continue; } else { s[index] = s[j]; index++; } } if(s[index-1] == ' ') index--; s = s.substr(0,index); } void reverse(string &s,int start,int end) { int i = 0; int mid = (end-start)/2; for(i = 0;i<=mid;i++) { char temp = s[start+i]; s[start+i]= s[end-i]; s[end-i] = temp; } } void reverseWords(string &s) { int i = 0; if(s == " " || s== "") s = ""; delete_kong(s); int len = s.length(); int start = 0; int end = len-1; reverse(s,start,end); //cout<<s<<endl; for(i = 0;i<len;i++) { if(s[i] == ' ') { if((i-1)>=0) { end = i-1; reverse(s,start,end); start = i+1; end = i+1; } } } end = len-1; reverse(s,start,end); }};
0 0
- Leetcode - string - Reverse Words in a String
- Reverse words in a String leetcode
- [LeetCode]Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- Reverse Words in a String (LeetCode)
- LeetCode Reverse Words in a String Total
- LeetCode(151)Reverse Words in a String
- Reverse Words in a String -- LeetCode
- leetcode Reverse Words in a String
- LeetCode OJ:Reverse Words in a String
- LeetCode Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- [Leetcode] Reverse Words in a String
- Reverse Words in a String[LeetCode]
- LeetCode OJ :Reverse Words in a String
- Leetcode: Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- 优先级反转
- Java作业整理 敏感词汇
- 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
- jaylptpeu
- TableView的详细使用
- leetcode - Reverse Words in a String
- WPF 自定义属性和触发器
- 硬件电路之电感,磁珠,零欧姆电阻的应用
- AsyncTask的使用
- Guide to understanding XSS – XSS payloads, attack vectors, BeEF hooking, MiTM with Shank and some hi
- LeetCode89:Gray Code
- 自定义“菊花dialog”
- cas-server异常不会后台显示而是变成json显示在页面。
- MySQL查看和修改表的存储引擎