此题考虑是用正则解决:
import java.util.regex.Pattern;
public class Inverse {
public static void main(String[] args){
String words = "How are you??";
toInverse(words);
}
public static String toInverse(String words){
Pattern pattern1 = Pattern.compile("([A-Za-z]+)([\\s]?)");
Pattern pattern2 = Pattern.compile("\\s|\\?");
String[] strs1 = pattern1.split(words);
String[] strs2 = pattern2.split(words);
for(int i = strs1.length-1; i>=0; i--){
System.out.print(strs1[i]);
}
for(int i = strs2.length-1; i>=0; i--){
System.out.print(strs2[i]+" ");
}
return null;
}
}