給你兩個 非空 鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存一位數字。將這兩數相加會返回乙個新的鍊錶。
你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。
classsolution:
def addtwonumbers(self, l1: listnode, l2: listnode) ->listnode:
if l1 == none: return
l2
if l2 == none: return
l1
def listnode2num(node): #
將鍊錶轉換為數字(int)
res =0
while
node:
res = res * 10 +node.val
node =node.next
return
res result = listnode2num(l1) +listnode2num(l2)
dummy_node = listnode(0) #
建立dummynode
start_node =dummy_node
for i in str(result): #
講結果相加結果轉換為字元,然後逐位取出
dummy_node.next = listnode(int(i)) #
將取出的字元逐位放入新建的鍊錶
dummy_node = dummy_node.next#
移動游標
return start_node.next
每日一題力扣23 鍊錶排序 轉陣列 再放入
給你乙個鍊錶陣列,每個鍊錶都已經按公升序排列。請你將所有鍊錶合併到乙個公升序鍊錶中,返回合併後的鍊錶。class solution def mergeklists self,lists list listnode listnode l for ln in lists while ln ln ln.n...
每日一題 力扣 計畫
98 驗證二叉搜尋樹 問題給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 1.節點的左子樹只包含小於當前節點的數。2.節點的右子樹只包含大於當前節點的數。3.所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true示例2 輸入 5 1 4...
力扣每日一題 6 14
1300 轉變陣列後最接近目標值的陣列和 給你乙個整數陣列 arr 和乙個目標值 target 請你返回乙個整數 value 使得將陣列中所有大於 value 的值變成 value 後,陣列的和最接近 target 最接近表示兩者之差的絕對值最小 如果有多種使得和最接近 target 的方案,請你返...