557. 反转字符串中的单词
问题557 反转字符串中的单词 ★☆☆☆☆
https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
这个题目从思路上讲,没有什么难度,最直接的处理可以把字符串转换为字符数组,然后遍历该数组,如果不是空格,将字符加到一个临时字符串中;如果是空格,则反转临时字符串并添加到结果字符串中,然后把空格也加入结果字符串。
这里使用了库函数,代码简洁很多。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public String reverseWords(String s) {
String[] words = s.split(" ");
String[] reversed = Arrays.stream(words)
.map(e -> reverse(e))
.collect(Collectors.toList())
.toArray(new String[0]);
return String.join(" ", reversed);
}
private String reverse(String s) {
StringBuilder rev = new StringBuilder();
for (int i = s.length()-1; i >= 0; i--) {
rev.append(s.charAt(i));
}
return rev.toString();
}
本文由作者按照 CC BY 4.0 进行授权