描述
给定一个字符串,逐个翻转字符串中的每个单词。
说明
- 单词的构成:无空格字母构成一个单词
- 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括
- 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个
样例
给出s = "the sky is blue",返回"blue is sky the"
代码实现(Java):
public String reverseWords(String s) {
// write your code here
if (s == null && s.length() == 0) {
return "";
}
// 1.根据空格将字符串转为成字符串数组
String[] str = s.split(" ");
StringBuilder sb = new StringBuilder();
// 2.从后到前将字符串数组中的单词插入sb中
for (int i = str.length - 1; i >= 0; i--) {
if (!str[i].equals("")) {
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(str[i]);
}
}
return sb.toString();
}