题解 | #单词倒排#
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
import java.util.*;
import java.util.Arrays;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String s1 = sc.nextLine();
char a[] =s1.toCharArray();
Arrays.sort(a);
String s2[] = s1.split(" ");
String s3[] = s1.split("");
StringBuffer sb = new StringBuffer();
List<String> list = new ArrayList();
String res =""; //空字符串
for(String x:s3){
if(Character.isLetter(x.charAt(0))){ //调用isLetter函数判断是否为字母字符
res=res+x; //如果是就加入res字符串末尾
}
else{
list.add(res); //如果不算就将之前为字母的字符串添加至list
res=""; //令res为空,如此截断反复进行。
}
}
if(!res.equals("")){ //考虑到最后一组阶段的单词全是字符没有空格或者特殊字符结尾也要将其加入list中
list.add(res);
}
for(int i=list.size()-1;i>=0;--i)
System.out.print(list.get(i)+" ");
}
}