对字符串中的所有单词进行倒排。
说明:
1、每个单词是以26个大写或小写英文字母构成;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextLine()){ String input = sc.nextLine(); reverse(input); } } public static void reverse(String input){ char[] chs = input.toCharArray(); for(int i=0;i<chs.length;i++){ if(chs[i]>='a'&&chs[i]<='z'||chs[i]>='A'&&chs[i]<='Z'){ chs[i]=chs[i]; }else{ chs[i]=' '; } } input= String.valueOf(chs).trim(); String[] strArray = input.split("\\s+");//\\s表示空格,回车,换行等空白符,+表示一个或者多个 StringBuffer sb = new StringBuffer(); int count = strArray.length; for(int i=count-1;i>=0;i--){ if(i==0){ sb.append(strArray[i]); }else{ sb.append(strArray[i]); sb.append(" "); } } System.out.println(sb.toString()); } }
