题解 | #单链表的排序#

单链表的排序

https://www.nowcoder.com/practice/f23604257af94d939848729b1a5cda08

解题思路

  • 先遍历链表元素,保存到数组内;
  • 再排序;
  • 最后创建新的链表。

  • 用到了Python内置的排序算法,时间复杂度为O(NlogN)。
  • 空间复杂度为O(N)

class Solution:
    def sortInList(self , head: ListNode) -> ListNode:
        # write code here
        p = head
        a = []

        while p:
            a.append(p.val)
            p = p.next

        a = sorted(a)

        res = ListNode(a[0])
        ress = res
        for i in a[1:]:
            res.next = ListNode(i)
            res = res.next
        
        res.next = None
        return ress

全部评论

相关推荐

点赞 评论 收藏
分享
白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务