【leetcode100】排序链表
1、题目描述
给你链表的头结点 head
,请将其按 升序 排列并返回 排序后的链表 。
示例 1:
输入:head = [4,2,1,3] 输出:[1,2,3,4]
2、初始思路
2.1 思路
将链表中的值都进行保存,保存到列表中,后进行排序,然后对链表的每个节点依次赋值。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def sortList(self, head: Optional[ListNode]) -> Optional[ListNode]:
cur = head
list1 = []
while cur:
list1.append(cur.val)
cur = cur.next
list1 = sorted(list1)
#print(list1)
cur = head
i = 0
while cur:
cur.val = list1[i]
cur = cur.next
i += 1
return head