首页 > 代码库 > LeetCode-Reverse Words in a String
LeetCode-Reverse Words in a String
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.
Have you met this question in a real interview?
Solution:
1 public class Solution { 2 public String reverseWords(String s) { 3 s = s.trim(); 4 5 StringBuffer buff = new StringBuffer(); 6 int start = s.length()-1; 7 while (start>=0){ 8 //Search the next work. 9 int end = start;10 while (end>=0 && s.charAt(end)!=‘ ‘) end--;11 String word = s.substring(end+1,start+1);12 buff.append(word);13 if (end>0) buff.append(" ");14 15 //skip all the following spaces.16 while (end>=0 && s.charAt(end)==‘ ‘) end--;17 start = end;18 }19 20 return buff.toString();21 }22 }
LeetCode-Reverse Words in a String
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。