1.链接
2.题目描述
将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I
输入描述:
每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100
输出描述:
依次输出倒置之后的字符串,以空格分割
示例1
输入
I like beijing.
输出
beijing. like I
3.题解
import java.util.Arrays;
import java.util.Scanner;
/**
* User:yang
*/
public class Main{
public static void reverse(char[] array,int start,int end){
while (start<end){
char tmp=array[start];
array[start]=array[end];
array[end]=tmp;
start++;
end--;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s=scanner.nextLine();
char[] ch=s.toCharArray();
int len= ch.length;
reverse(ch,0,len-1);
int i=0;
while (i<len){
int j=i;
while (j<len&&ch[j]!=' '){
j++;
}
if (j<len){
reverse(ch,i,j-1);
i=j+1;
}else {
reverse(ch,i,j-1);
i=j;
}
}
String str=new String(ch);
System.out.println(str);
}
}