将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
接口说明
/**
* 反转句子
*
* @param sentence 原句子
* @return 反转后的句子
*/
public String reverse(String sentence);
输入描述:
将一个英文语句以单词为单位逆序排放。
输出描述:
得到逆序的句子
输入例子:
I am a boy
输出例子:
boy a am I
import java.util.Scanner;
public class Main{
public void swap(char [] arr,int front,int end) {
while(front<end){
char tmp;
tmp=arr[front];
arr[front]=arr[end];
arr[end]=tmp;
front++;
end--;
}
}
public String swapWords(String str) {
char[] charArry=str.toCharArray();
int len=charArry.length;
int begin=0;
swap(charArry, 0, len-1);
for(int i = 0;i < len;i++){
if(charArry[i]==' '){
swap(charArry, begin, i-1);
begin=i+1;
}
}
swap(charArry, begin, len-1);
return new String(charArry);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuilder string=new StringBuilder();
Scanner scanner =new Scanner(System.in);
while(scanner.hasNext()){
string.append(scanner.nextLine());
System.out.println(new Main().swapWords(new String(string))) ;
}
}
}