仅提供个人的一种解题思路,未必是最优,仅供各位参考!
/**
*
* <p>
* ClassName SolutionReverseWordsInAString
* </p>
* <p>
* Description Given an input string, reverse the string word by word.
*
* For example, Given s = "the sky is blue", return "blue is sky the".
* </p>
*
* @author wangxu wangx89@126.com
* <p>
* Date 2014-9-11 下午01:55:53
* </p>
* @version V1.0
*
*/
public class SolutionReverseWordsInAString {
public static String reverseWords(String s) {
if ("".equals(s.trim())) {
return "";
}
String str[] = s.trim().split(" ");
String result = "";
int length = str.length - 1;
for (int i = 0; i <= length / 2; i++) {
if (!"".equals(str[i])) {
String temp = str[i];
str[i] = str[length - i];
str[length - i] = temp;
}
}
for (int i = 0; i <= length; i++) {
if (!"".equals(str[i])) {
if (i == length) {
result += str[i];
} else {
result += str[i] + " ";
}
}
}
return result;
}
public static void main(String[] args) {
System.out.println(reverseWords(" a b "));
}
}