public boolean isAlienSorted(String[] words, String order) {
int n = words.length;
String[] to = Arrays.copyOf(words, n);
Arrays.sort(to, new Comparator<String>() {
public int compare(String a, String b) {
for(int i = 0;i < a.length() && i < b.length();i++){
int pa = order.indexOf(a.charAt(i));
int pb = order.indexOf(b.charAt(i));
if(pa != pb)return pa - pb;
}
return a.length() - b.length();
}
});
return Arrays.equals(words, to);
}
具体参照这里,当compare返回的int>0,则a>b,int<0,a<b,int==0,a==b
当compare如此定义,那么最终的sort将会是升序!!!