题目描述:
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
解题思路:
假设这条句子有n个单词:句子反转实质,将第1个元素与最后1个元素交换,第2个元素与倒数第2个元素交换····················第n/2-1个元素与倒数n/2-1个元素交换。
代码:
1 import java.util.Scanner;
2 public class stringReverse {
3 public static void main(String[] args){
4 Scanner scan=new Scanner(System.in);
5 String str=scan.nextLine();
6 String[] wordArray=str.split(" ");
7 int length=wordArray.length;
8 for(int i=0;i<length/2;i++){ //交换过程
9 String temp=wordArray[i];
10 wordArray[i]=wordArray[length-i-1];
11 wordArray[length-i-1]=temp;
12 }
13 for(int i=0;i<length;i++){ //输出
14 if(i==length-1){
15 System.out.print(wordArray[i]);
16 }
17 else{
18 System.out.print(wordArray[i]+" ");
19 }
20 }
21 }
22 }