557. Reverse Words in a String III
2017-07-11 14:29
441 查看
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:
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
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.
public class Solution { public String reverseWords(String s) { Stack<String> a=new Stack<>(); StringBuffer b=new StringBuffer(); for(Character i:s.toCharArray()) { if(i!=' ') { a.push(i.toString()); } else{ while(!a.isEmpty())b.append(a.pop()); b.append(" "); } } while(!a.isEmpty())b.append(a.pop());//这里是倒置最后一个单词 return b.toString(); } }我的方法在于考虑了存在多个空格的情况,大神的想法更简单,一般不用考虑多个空格
public String reverseWords(String s) { String[] strs = s.split(" ");//将字符串切割成多个单词 StringBuffer sb = new StringBuffer(); for(String str: strs){ StringBuffer temp = new StringBuffer(str); sb.append(temp.reverse());//倒置单词 sb.append(" "); } sb.setLength(sb.length()-1);//设置长度,由于上面多了一个空格 return sb.toString(); }
相关文章推荐
- Leetcode——557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- Leetcode557. Reverse Words in a String III
- LeetCode——557. Reverse Words in a String III
- 557. Reverse Words in a String III
- String:557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- LeetCode之路:557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III
- 557. Reverse Words in a String III