leetcode--两数相加

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。
示例:
  输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
  输出:7 -> 0 -> 8

class Node:
    def __init__(self, value=None, next=None):
        self.value = value
        self.next = next
    
    
def add_sum_node(list_node1, list_node2):
    flag, add_sum = 0, 0
    node_ptr = node_header = Node()
    while list_node1.next != None and list_node2.next != None:
        add_sum = list_node1.value+list_node2.value+flag
        flag = add_sum%10
        
        node_ptr.next = Node(add_sum//10)
        list_node1 = list_node1.next
        list_node2 = list_node2.next
    
    while list_node1.next:
        add_sum = list_node1.value+flag
        flag = add_sum%10
        node_ptr.next = Node(add_sum)
    
    while list_node2.next:
        add_sum = list_node2.value+flag
        flag = add_sum%10
        node_ptr.next = Node(add_sum//10)
        
    if flag:
        node_ptr.next = Node(flag)
        
    return node_header
    

 

posted @ 2021-09-29 09:21  techPark  阅读(30)  评论(0)    收藏  举报