力扣 21 合併兩個有序鍊錶 Python實現

2021-10-14 03:02:00 字數 902 閱讀 9705

【題目描述】

將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

示例:輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

【解題思路】

新建乙個煉表頭,然後往新鍊錶上依次插兩個生序鍊錶中的元素。用python實現的**如下:

# definition for singly-linked list.

# class listnode(object):

# def __init__(self, val=0, next=none):

# self.val = val

# self.next = next

class solution(object):

def mergetwolists(self, l1, l2):

""":type l1: listnode

:type l2: listnode

:rtype: listnode

"""prehead = listnode(-1)

p = prehead

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

elif l2:

p.next = l2

return prehead.next

力扣 21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 definition for singly linked list.struct listnode struct listnode merge...

力扣21 合併兩個有序鍊錶

難度 簡單 題目要求 將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 1 輸入 l1 1,2,4 l2 1,3,4 輸出 1,1,2,3,4,4 示例 2 輸入 l1 l2 輸出 示例 3 輸入 l1 l2 0 輸出 0 題目思想其實很簡單,因為...

力扣21 合併兩個有序鍊錶

將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 簡單的歸併 1 class solution else 15 p p.next 16 17 鏈結多餘的部分 18 p.next l1 ...