文巾解题 21. 合并两个有序链表
生活随笔
收集整理的這篇文章主要介紹了
文巾解题 21. 合并两个有序链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 題目描述
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 mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:tmp=ListNode(0)#哨兵節點ret=tmpwhile(l1!=None and l2!=None): #如果l1和l2都有值得情況下if(l1.val<=l2.val):tmp.next=ListNode(l1.val)tmp=tmp.nextl1=l1.nextelse:tmp.next=ListNode(l2.val)tmp=tmp.nextl2=l2.nextif(l1!=None):tmp.next=l1if(l2!=None):tmp.next=l2 #如果l1和l2還有一個有值return(ret.next)2.2 迭代
# 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==None and l2==None):return Noneelif(l2==None):return l1elif(l1==None):return l2elif(l1.val>=l2.val):tmp=ListNode(l2.val)tmp.next=self.mergeTwoLists(l1,l2.next)return tmpelse:tmp=ListNode(l1.val)tmp.next=self.mergeTwoLists(l1.next,l2)return tmp?
總結
以上是生活随笔為你收集整理的文巾解题 21. 合并两个有序链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 20有效的括号
- 下一篇: linux 命令集锦