zoukankan      html  css  js  c++  java
  • leetcode_21: 合并两个有序链表

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 
    
     
    
    示例:
    
    输入:1->2->4, 1->3->4
    输出:1->1->2->3->4->4
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/merge-two-sorted-lists
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    #解法1:迭代
    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, val=0, next=None):
    #         self.val = val
    #         self.next = next
    class Solution:
        def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
            ll=ListNode()
            p=ll
            while l1 and l2:
                if l1.val<l2.val:
                    p.next=l1
                    l1=l1.next
                else:
                    p.next=l2
                    l2=l2.next
                p=p.next
            if l1:
                p.next=l1
            if l2:
                p.next=l2
            
            return ll.next
    
    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, val=0, next=None):
    #         self.val = val
    #         self.next = next
    class Solution:
        def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
            if l1 is None:
                return l2
            if l2 is None:
                return l1
            if l1.val<l2.val:
                l1.next=self.mergeTwoLists(l1.next,l2)
                return l1
            else:
                l2.next=self.mergeTwoLists(l2.next,l1)
                return l2
    
    
    
  • 相关阅读:
    Linux shell(3)
    Linux shell 编写(2)
    Linux shell 编写(1)
    团队冲刺(一)
    峦码团队任务表
    电梯演讲&界面展示说明
    第一次小组会议——NABCD讨论
    开发项目&团队介绍
    Linux中查看各文件夹大小命令:du -h --max-depth=1
    shell脚本[] [[]] -n -z 的含义解析
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14009317.html
Copyright © 2011-2022 走看看