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

时间:2021-05-02 18:45:49

题目描述:

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

解题思路:

假设这条句子有n个单词:句子反转实质,将第1个元素与最后1个元素交换,第2个元素与倒数第2个元素交换····················第n/2-1个元素与倒数n/2-1个元素交换。

代码:

 import java.util.Scanner;
public class stringReverse {
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
String[] wordArray=str.split(" ");
int length=wordArray.length;
for(int i=0;i<length/2;i++){ //交换过程
String temp=wordArray[i];
wordArray[i]=wordArray[length-i-1];
wordArray[length-i-1]=temp;
}
for(int i=0;i<length;i++){ //输出
if(i==length-1){
System.out.print(wordArray[i]);
}
else{
System.out.print(wordArray[i]+" ");
}
}
}
}