合并两个有序链表

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-sorted-lists

题解,一道非常简单的算法题,就是链表的合并,逐一判断大小然后再进行结点的连接。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
        ans = res = ListNode(0)
        while l1 and l2:
            if l1.val >= l2.val:
                res.next = l2
                res = res.next
                l2 = l2.next
            else:
                res.next = l1
                res = res.next
                l1 = l1.next
        if l1:
            res.next = l1
        else:
            res.next = l2
        return ans.next
点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00