LeetCode: 557. Reverse Words in a String III
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.
public class Solution {
public String reverseWords(String s) {
if (s == null) return null;
String result = "";
String[] lists = s.split(" ");
for (String list : lists) {
int length = list.length();
int half = (int) (length / 2);
String left = "";
String midStr = ((length % 2) == 0) ? "" : list.substring(half , half + 1);
String right = "";
for (int i = 0; i < half ; i++) {
left += list.charAt(length - 1 - i);
right = list.charAt(i) + right;
}
result += left + midStr + right + " ";
}
return result.isEmpty() ? "" : result.substring(0, result.length() - 1);
}
}
本文介绍LeetCode上第557题的具体实现方案,该题要求反转字符串中每个单词的字符顺序,同时保持单词原有的顺序不变。示例输入为“Let’s take LeetCode contest”,预期输出为“s’teL ekat edoCteeL tsetnoc”。通过Java代码详细解释了如何通过split方法分割字符串,并逐一反转每个单词。

262

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



