题解 | #单链表的排序#

单链表的排序

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
全部评论

相关推荐

每晚夜里独自颤抖:把华北改为华南再试一试,应该就没啥问题了。改完可能都不用投,别人主动联系了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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