题解 | #单词倒排#
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
import javax.xml.crypto.dsig.keyinfo.RetrievalMethod; import java.util.*; import java.util.function.Consumer; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); StringBuilder sb = new StringBuilder(s); for (int i = 0; i < sb.length(); i++) { char c = sb.charAt(i); // 是字母,跳过 if (c >= 65 && c <= 90) continue; if (c >= 97 && c <= 122) continue; // 不是字母 sb.replace(i, i + 1, " "); } ArrayList<String> list = new ArrayList<>(); StringBuilder temp = new StringBuilder(); for (int i = 0; i < sb.length(); i++) { char c = sb.charAt(i); if (c != ' ') { temp.append(c); if (i == sb.length() - 1) list.add(temp.toString()); } else { if (!temp.toString().isEmpty()) list.add(temp.toString()); temp = new StringBuilder(); } } for (int i = list.size() - 1; i >= 0; i--) { System.out.print(list.get(i) + " "); } } }