题解 | #单词倒排#
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
import java.util.Scanner; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String str = in.nextLine(); char[] c_s = str.toCharArray(); List<String> list = new ArrayList<>(); int index = 0; for(int i=0;i<str.length();i++){ if(!Character.isAlphabetic(c_s[i])){ if(i==0){ index=i+1; continue; } else{ list.add(str.substring(index,i)); index = i+1; } } } if(index<str.length()){ list.add(str.substring(index,str.length())); } int n = list.size()-1; StringBuilder sb = new StringBuilder(); while(n>=1){ sb.append(list.get(n)); sb.append(" "); n--; } sb.append(list.get(n)); System.out.print(sb.toString()); } }
记录非字符的位置,对字符串切片,存储至list中
倒序遍历list加入stringbuilder中,并按要求添加空格