LeetCode OJ --问题与解答 Reverse Words in a String
来源:互联网 发布:2017网络新技术 编辑:程序博客网 时间:2024/05/19 13:17
题目
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
click to show clarification.
Clarification:
按照单词把字符串翻转- What constitutes a word?
A sequence of non-space characters constitutes a word. - Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces. - How about multiple spaces between two words?
Reduce them to a single space in the reversed string.
1 这道题目的关键是要把三个注意点给考虑到:
a 单词是按照空格分隔。
b 字符串前后可以有空格,返回的时候不需要有这类空格。
c 当中重复的空格可以有,返回的时候只留一个。
2 关于前后的空格,trim() 函数可以处理。
3 可以这样考虑。从尾部开始,每次碰到空格,就代表之前的是一个单词,加入到新的字符串中,并且加一个空格。这样扫描一遍,也就逆序的加好了。不要忘记最后一个单词也手动加。
4 注意stringbuffer 添加部分字符数组的3个参数的含义:数组,起始点,长度。
5 另外,如果没有条件3。就是不同数量的空格也逆序的返回的话,可以有个更有意思的方法。这里就说说思路。
a 第一遍扫描,从头到尾,把每个单词给逆序。
b 第二遍,直接把整个字符串给逆序。
c 这样也只需要一个方法了。
public class Solution { public String reverseWords(String s) { if(s.length()==0){ return s; } s=s.trim(); char[] ch = s.toCharArray(); StringBuffer sb = new StringBuffer(); int end = ch.length-1; for(int i = ch.length-1;i>=0;i--){ if(ch[i]==' '){ sb.append(ch,i+1,end-i).append(' '); while(i>=0 && ch[i]==' '){ i--; } end = i; } } sb.append(ch,0,end+1); return new String(sb);}}
0 0
- LeetCode OJ --问题与解答 Reverse Words in a String
- LeetCode OJ:Reverse Words in a String
- LeetCode OJ :Reverse Words in a String
- Reverse Words in a String -LeetCode OJ
- Leetcode OJ : Reverse Words in a String
- [LeetCode OJ] Reverse Words in a String
- LeetCode OJ:Reverse Words in a String
- LeetCode OJ : Reverse Words in a String
- LeetCode OJ Reverse Words in a String
- leetcode题目--Reverse Words in a String解答
- [LeetCode OJ] Reverse Words in a String 解题报告
- <LeetCode OJ> 151. Reverse Words in a String
- [OJ]: Reverse Words in a String
- 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)
- 唯一索引引发的行锁
- 布隆过滤器在网咯爬虫中的应用
- 死锁
- 一个简单通用的应用程序makefile
- stat、fstat和lstat函数
- LeetCode OJ --问题与解答 Reverse Words in a String
- lucene创建索引
- javascript实现限制上传文件的大小
- Linux 线程学习
- 连载了解SIP协议翻译文章[IOKE作品]
- DevSuite助力北京拓敏,管理产品研发全过程
- 结构化程序设计----分支结构
- Mac OSX系统 RODBC连接Mysql数据库乱码的解决方法
- Hibernate实战_笔记8(Ant设置Schema导出)