题解 | #单词倒排#
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
import java.util.LinkedList; import java.util.List; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { String s = ""; Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case s = in.nextLine(); } result(s); } private static void result(String s) { List<String> list = init(s); int size = list.size(); for (int i = size - 1; i >= 0; i--) { if (i == 0) { System.out.print(list.get(i)); } else { System.out.print(list.get(i) + " "); } } } private static List<String> init(String s) { List<String> list = new LinkedList<>(); int len = s.length(); char[] arr = s.toCharArray(); for (int i = 0; i < len; i++) { char c = arr[i]; if (!(c >= 'A' && c <= 'Z') && !(c >= 'a' && c <= 'z')) { arr[i] = ' '; } } addList(list, arr); return list; } private static void addList(List<String> list, char[] arr) { int len = arr.length; StringBuffer b = new StringBuffer(); for (int i = 0; i < len; i++) { char c = arr[i]; if (c != ' ') { b = b.append(c); if (i == len - 1 || (i + 1 < len && arr[i + 1] == ' ')) { list.add(b.toString()); b = new StringBuffer(); } } } } }
雪域灰灰刷题笔记 文章被收录于专栏
雪域灰灰刷题笔记