题目描述:给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。
比如:
(1) “hello xiao mi”-> “mi xiao hello”
输入 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符) | 样例输入 hello xiao mi |
输出 对于每个测试示例,要求输出句子中单词反转后形成的句子 | 样例输出 mi xiao hello |
解题思路:分隔后前后交换
package BiShiTi;
import java.util.*;
public class m_0031{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String oriStr = sc.nextLine();
System.out.println(reverse(oriStr));
}
}
public static String reverse(String _oriStr){
String oriStr = _oriStr;
String [] oriStrArr = oriStr.split(" ");
int len = oriStrArr.length;
for(int i = 0; i < len / 2; i ++){
String temp = oriStrArr[i];
oriStrArr[i] = oriStrArr[len - 1- i];
oriStrArr[len - 1- i] = temp;
}
StringBuffer sb = new StringBuffer();
sb.append(oriStrArr[0]);
for(int i = 1; i < len; i ++){
sb.append(" ");
sb.append(oriStrArr[i]);
}
return sb.toString();
}
}