937. Reorder Data in Log Files
class Solution {
public String[] reorderLogFiles(String[] logs) {
List<String> letterLogs = new ArrayList<>();
List<String> digitLogs = new ArrayList<>();
for (String log : logs){
if (Character.isDigit(log.split(" ")[1].charAt(0))){
digitLogs.add(log);
} else {
letterLogs.add(log);
}
}
letterLogs.sort((s1,s2) -> {
String[] s1x = s1.split(" ",2);
String[] s2x = s2.split(" ",2);
int compared = s1x[1].compareTo(s2x[1]);
if (compared == 0){
return s1x[0].compareTo(s2x[0]);
} else {
return compared;
}
});
letterLogs.addAll(digitLogs);
return letterLogs.toArray(new String[0]);
}
}
Last updated
Was this helpful?