题目描述:
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;
}
}
本文介绍了一种算法,用于反转字符串中每个单词的字符顺序,同时保持原有的空格和单词顺序不变。通过将字符串分割为单词数组并逆序每个单词实现。
297

被折叠的 条评论
为什么被折叠?



