标签:style blog color os io java ar strong for
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
public class Solution { public void reverseWords(char[] array, int startIndex, int endIndex) { while (startIndex < endIndex) { char p = array[startIndex]; array[startIndex] = array[endIndex]; array[endIndex] = p; startIndex++; endIndex--; } } public String reverseWords(String s) { if(s==null) return null; s=s.trim(); if(s.length()==0) return s; StringBuilder pString=new StringBuilder(s.length()); pString.append(s.charAt(0)); for(int i=1;i<s.length();i++){ pString.append(s.charAt(i)); if(s.charAt(i)==' '){ while(s.charAt(i)==' ') i++; i--; } } char[] array = pString.toString().toCharArray(); reverseWords(array, 0, array.length - 1); int startIndex = 0; int endIndex; while (startIndex<array.length) { for (endIndex = startIndex + 1; endIndex < array.length; endIndex++) { if (array[endIndex] == ' ') break; } reverseWords(array,startIndex,endIndex-1); startIndex=endIndex+1; } return new String(array); } }
标签:style blog color os io java ar strong for
原文地址:http://blog.csdn.net/jiewuyou/article/details/39137953