LeetCode 151 - Reverse Words in a String

作者 QIFAN 日期 2017-03-07
LeetCode 151 - Reverse Words in a String

原题链接: 151. Reverse Words in a String


题干

给定一个包含单词的字符串,返回单词倒序的字符串。单词中不含空格,输出中可能有连续空格,但输出中单词间以一个空格相连。
例子
输入: “this is fun”
输出: “fun is this”

思路

很粗暴的思路就是把字符串按空格 split() ,再重组。时间复杂度 $O(N)$ ,空间复杂度 $O(N)$ 。

代码:

public String reverseWords(String s) {
String[] words = s.trim().split(" ");
StringBuilder res = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
String word = words[i].trim();
if (word.length() == 0) {
continue;
}
res.append(word).append(" ");
}
return res.toString().trim();
}