算法-给定一个字符串S = “I am a student. “,则输出“student. a am I“。
原创
©著作权归作者所有:来自51CTO博客作者Jaemon的原创作品,请联系作者获取转载授权,否则将追究法律责任
题目描述
反转单词顺序: 给定一个字符串S = "I am a student. “,则输出"student. a am I”。
算法实现
public static void main(String[] args) {
String str = "I am a student. ";
String result = reverseWords(str);
System.out.println(result);
}
public static String reverseWords(String str) {
String space = " ";
String[] s = str.trim().split(space);
StringBuilder sb = new StringBuilder();
for (int i = s.length - 1; i >= 0; i--) {
String s1 = s[i];
// 对于单词间存在连续空格情况处理, eg. "I am a student."
if ("".equals(s1)) {
continue;
}
sb.append(s1).append(space);
}
// 去掉最后多余的空格
return sb.toString().trim();
}
运行结果