句子反转——牛客刷题(java)

题目描述:

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (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 }