【中级】单词倒排
单词倒排
http://www.nowcoder.com/questionTerminal/81544a4989df4109b33c2d65037c5836
第一步将不是字母的字符替换成空格,再用split进行分隔,倒序输出就可以了。需要注意的是String的isBlank()方法在Java 11可以用,牛客的这个是不可以用的。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextLine()) { String origin = in.nextLine(); StringBuilder converted = new StringBuilder(); for(int j = 0; j < origin.length(); j++){ char c = origin.charAt(j); if((c >= 'a' && c <= 'z')||(c >= 'A' && c <= 'Z')){ converted.append(c); } else{ converted.append(" "); } } String[] str = converted.toString().split(" "); StringBuilder res = new StringBuilder(); for(int i = str.length - 1; i >= 0; i--){ //str[i].isBlank(); if(!str[i].trim().isEmpty()){ res.append(str[i]); res.append(" "); } } System.out.println(res.toString().trim()); } } }