class Solution {
public String[] reorderLogFiles(String[] logs) {
int n = logs.length;
List<String> list = new ArrayList<>();
List<String> digit = new ArrayList<>();
for(String s : logs){
String[] str = s.split(" ");
if(str[1].charAt(0) >= '0' && str[1].charAt(0) <= '9'){
digit.add(s);
}else{
list.add(s);
}
}
Collections.sort(list,(o1,o2) ->dfs(o1,o2));
int index = 0;
for(String cx : list){
logs[index++] = cx;
}
for(String cx : digit){
logs[index++] = cx;
}
return logs;
}
int dfs(String o1,String o2){
String[] s1 = o1.split(" ");
String[] s2 = o2.split(" ");
for(int i = 1;i < Math.min(s1.length,s2.length);i++){
for(int j = 0;j < Math.min(s1[i].length(),s2[i].length());j++){
if(s1[i].charAt(j) == s2[i].charAt(j)){
continue;
}else{
return s1[i].char