题目:原题链接(简单)
标签:字符串、排序
解法时间复杂度空间复杂度执行用时Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N) O(N)44ms (86.44%)Ans 2 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N) O(N)32ms (100.00%)Ans 3 (Python)解法一(字母日志单独自定义排序):
def reorderLogFiles(self, logs: List[str]) -> List[str]: def info(lg): idx = lg.index(" ") return lg[idx + 1:] + lg[:idx] d_logs = [] # 数字日志 a_logs = [] # 字母日志 for log in logs: if log[log.index(" ") + 1].isalpha(): a_logs.append(log) else: d_logs.append(log) a_logs.sort(key=info) return a_logs + d_logs解法二(统一自定义排序):
def reorderLogFiles(self, logs: List[str]) -> List[str]: def helper(log): id_, content = log.split(" ", 1) return (0, content, id_) if content[0].isalpha() else (1,) return sorted(logs, key=helper)