1,问题简述
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。
2,示例
输入: "the sky is blue"
输出: "blue is sky the"
3,题解思路
从后向前统计每个单词,进行数据的加载
4,题解程序
public class ReverseWordsTest {
public static void main(String[] args) {
String str = "the sky is blue";
String reverseWords = reverseWords(str);
System.out.println("reverseWords = " + reverseWords);
}
public static String reverseWords(String s) {
if (s == null || s.length() == 0) {
return s;
}
String[] results = s.split(" ");
int length = results.length;
StringBuilder stringBuilder = new StringBuilder(length);
for (int i = length - 1; i >= 0; i--) {
if (!results[i].equals("")) {
stringBuilder.append(results[i]);
stringBuilder.append(" ");
}
}
return stringBuilder.toString().trim();
}
}
5,题解程序图片版
6,总结
其实输入不难,难得是输出,输出内容是对自我总结的一部分吧,回顾前几年的内容,内心输入的东西太多了,所以自从去年开始自己就慢慢输出了,中间确实想过放弃,但是放弃就意味着前期做的所有内容都失效了,自己也说过,既然形成了自己独有的文章输出风格,再谈放弃,岂不是可惜,坚持到了现在,不刻意输出内容就行了,有时间输出输出也好,至少做到不刻意去输出内容就行了,这就是前段时间放慢自己输出内容的一点感触,至少心中可以做到慢慢输出了,回过头想想过去每日或者每周都频繁更新文章的我来说,目前可以做到输出内容的一点淡然了,找好自己的方向,慢慢跑吧,这就是我,与过去不同的我。