小米笔试:句子反转
题目描述
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
输入描述:
输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
对于每个测试示例,要求输出句子中单词反转后形成的句子
示例1
输入hello xiao mi
输出mi xiao hello
思路:
先翻转整个字符串,然后逐个翻转子字符串
package ddmmui;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String line = sc.nextLine();
StringBuilder sb = new StringBuilder(line);
sb.reverse();
String[] arr = sb.toString().split(" ");
StringBuilder result = new StringBuilder();
for(int i = 0; i < arr.length - 1; i++) {
result.append(new StringBuilder(arr[i]).reverse().append(" ").toString());
}
result.append(new StringBuilder(arr[arr.length-1]).reverse());
System.out.println(result);
}
sc.close();
}
}