# 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:
if l1==None:
return l2
elif l2==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
又一次用到了递归,还是抄的别人。。。
# 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:
preresult=ListNode(0)
result=preresult
while l1 and l2:
if l1.val<l2.val:
result.next=l1
l1=l1.next
else:
result.next=l2
l2=l2.next
result=result.next
result.next=l1 if l1 is not None else l2
#在判断得时候Null不行,得用None
return preresult.next
这个迭代通过result=result.next来达到下次的位置,