题目描述:
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、先将字符串分割成单词字符串数组
2、将每个单词逆序即可
class Solution {
public String reverseWords(String s) {
String[] strs = s.split("\\s");
String reverseStr = "";
for(int i = 0; i < strs.length; i++) {
reverseStr += reverseEachWord(strs[i])+" ";
}
return reverseStr.trim();
}
public String reverseEachWord(String str) {
char[] chs = str.toCharArray();
for(int i = 0; i < chs.length/2; i++) {
swap(chs, i, chs.length-1-i);
}
return String.valueOf(chs);
}
public void swap(char[] chs, int i, int j) {
char tmp = chs[i];
chs[i] = chs[j];
chs[j] = tmp;
}
}