题解 | #单链表的排序#
单链表的排序
https://www.nowcoder.com/practice/f23604257af94d939848729b1a5cda08
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param head ListNode类 the head node
# @return ListNode类
#
class Solution:
def sortInList(self , head: ListNode) -> ListNode:
# write code here
arr = []
p = head
while p:
arr.append(p.val)
p = p.next
arr = sorted(arr)
p = head
i = 0
while p:
p.val = arr[i]
i+=1
p = p.next
return head
使用一个辅助的数组即可,然后调用库函数快排,复杂度我O(nlogn),最后写回去。
途虎公司福利 103人发布