题解 | 单词倒排
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
import java.util.Scanner;
import java.util.Stack;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String s = in.nextLine();
Stack<String> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
for (char c : s.toCharArray()) {
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
sb.append(c);
} else {
if (sb.length() != 0) {
stack.push(sb.toString());
sb.delete(0,sb.length());
}
if (!stack.isEmpty() && stack.lastElement() != " ") {
stack.push(" ");
}
}
}
stack.push(sb.toString());
while(!stack.isEmpty()) {
System.out.print(stack.pop());
}
}
}
}
