题解 | #单词倒排#
单词倒排
http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
String[] s = nextLine.split(" ");
StringBuilder newStr = new StringBuilder();
for (int i = 0; i < s.length; i++) {
char[] chars = s[i].toCharArray();
for (int j = 0; j < chars.length; j++) {
char aChar = chars[j];
if ((aChar >= 'a' && aChar <= 'z') || (aChar >= 'A' && aChar <= 'Z') || (aChar == ' ')) {
newStr.append(aChar);
} else {
newStr.append(" ");
}
}
if (i != s.length - 1) {
newStr.append(" ");
}
}
String[] s1 = newStr.toString().split(" ");
ArrayList<String> arrayList = new ArrayList<>(s1.length);
for (int i = 0; i < s1.length; i++) {
arrayList.add(s1[i]);
}
Collections.reverse(arrayList);
for (int i = 0; i < arrayList.size(); i++) {
System.out.print(arrayList.get(i) + " ");
}
}
}
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
String[] s = nextLine.split(" ");
StringBuilder newStr = new StringBuilder();
for (int i = 0; i < s.length; i++) {
char[] chars = s[i].toCharArray();
for (int j = 0; j < chars.length; j++) {
char aChar = chars[j];
if ((aChar >= 'a' && aChar <= 'z') || (aChar >= 'A' && aChar <= 'Z') || (aChar == ' ')) {
newStr.append(aChar);
} else {
newStr.append(" ");
}
}
if (i != s.length - 1) {
newStr.append(" ");
}
}
String[] s1 = newStr.toString().split(" ");
ArrayList<String> arrayList = new ArrayList<>(s1.length);
for (int i = 0; i < s1.length; i++) {
arrayList.add(s1[i]);
}
Collections.reverse(arrayList);
for (int i = 0; i < arrayList.size(); i++) {
System.out.print(arrayList.get(i) + " ");
}
}
}