文章

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();
	}

在 LeetCode 查看

本文由作者按照 CC BY 4.0 进行授权