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
    
    
    
  • 相关阅读:
    SQL注入(手工篇)
    sed命令
    交互输入与for语句
    编程原理
    grep与正则表达式
    重定向和管道符
    shell_oneday_历史命令相关
    python_01_初识python
    C# 上传文件
    C# in 参数化处理 (记)
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14009317.html
Copyright © 2011-2022 走看看