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:
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.
翻译:
给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时仍保留空格和初始单词顺序。
示例1:
输入: “我们来LeetCode比赛” 输出: “s'teL ekat edoCteeL tsetnoc”
注意: 在字符串中,每个单词都以单个空格分隔,字符串中不会有任何额外的空格。
思路:先整个颠倒,再按空格切分,再颠倒词的顺序。
public String reverseWords(String s) {
String rev_s = new StringBuffer(s).reverse().toString();
String[] sa = rev_s.split(" ");
int len = sa.length;
String result = "";
for(int i = sa.length-1;i>0;i--){
result = result + sa[i] + " ";
}
result = result + sa[0];
return result;
}