Skip to content

Commit fab0603

Browse files
committed
937 finish
1 parent 792ef7d commit fab0603

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

Algorithms/0937.reorder-log-files/reorder-log-files.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,28 @@ import (
88
func reorderLogFiles(logs []string) []string {
99
size := len(logs)
1010

11-
letters := make([][]string, 0, size)
11+
letters := make([]string, 0, size)
1212
digits := make([]string, 0, size)
1313

1414
for _, log := range logs {
15-
ls := strings.SplitN(log, " ", 2)
16-
b := ls[1][0]
17-
if '0' <= b && b <= '9' {
15+
if isDigit(log) {
1816
digits = append(digits, log)
1917
} else {
20-
letters = append(letters, ls)
18+
letters = append(letters, log)
2119
}
2220
}
2321

2422
sort.Slice(letters, func(i int, j int) bool {
25-
return letters[i][1] < letters[j][1]
23+
li, lj := letters[i], letters[j]
24+
li = li[strings.Index(li, " "):]
25+
lj = lj[strings.Index(lj, " "):]
26+
return strings.Compare(li, lj) < 0
2627
})
2728

28-
res := make([]string, 0, size)
29-
for _, ls := range letters {
30-
res = append(res, strings.Join(ls, " "))
31-
}
32-
33-
res = append(res, digits...)
29+
return append(letters, digits...)
30+
}
3431

35-
return res
32+
func isDigit(log string) bool {
33+
b := log[strings.Index(log, " ")+1]
34+
return '0' <= b && b <= '9'
3635
}

0 commit comments

Comments
 (0)