题目:
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.
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 public class Solution { 2 public String reverseWords(String s) 3 { 4 if (s == null || s.length() == 0) 5 { 6 return ""; 7 } 8 StringBuilder sb = new StringBuilder(); 9 String[] string = s.split(" "); 10 for (int i= string.length-1;i>=0;i--) 11 { 12 if(!string[i].equals("")) 13 sb.append(string[i]).append(" "); 14 } 15 16 return sb.length() == 0 ? "" : sb.substring(0, sb.length() - 1); 17 18 19 } 20 }
cleanbook上好像有错
转载于:https://www.cnblogs.com/hygeia/p/4830911.html
相关资源:JAVA上百实例源码以及开源项目