题解 | #单链表的排序#

单链表的排序

http://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
        #获取头部节点
        h = head
        #创建一个排序数组
        l = []
        #当节点存在的时候,依次添加节点值到数组
        while h:
            l.append(h.val)
            h = h.next
        l.sort()       #利用sort函数对数组进行升序排列
        #创建新链表
        h = head
        i = 0      #索引从0开始
        #把排完序的数组重新赋值给新的链表,此时的链表的所有节点都是按升序排列的
        while h:
            h.val = l[i]
            h = h.next
            i += 1
        return head
全部评论

相关推荐

收到了北京经纬恒润AE产品测试部门的offer,有了解的友友吗?工作内容怎么样?加班真的很严重吗?值得去吗?
La_place:有人说的人在那边,就是正常互联网作息吧,一天十个小时出头,双休这样。加班有,但是可能也不算严重?
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务