• 注册
    • 查看作者
    • 领扣: 167题 链表求和

      你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。

      Example

      样例 1:

      输入: 7->1->6->null, 5->9->2->null
      输出: 2->1->9->null	
      样例解释: 617 + 295 = 912, 912 转换成链表:  2->1->9->null

      样例 2:

      输入:  3->1->5->null, 5->9->2->null
      输出: 8->0->8->null	
      样例解释: 513 + 295 = 808, 808 转换成链表: 8->0->8->null

      """
      Definition of ListNode
      class ListNode(object):
          def __init__(self, val, next=None):
              self.val = val
              self.next = next
      """
      class Solution:
          """
          @param l1: the first list
          @param l2: the second list
          @return: the sum list of l1 and l2 
          """
          def addLists(self, l1, l2, car = 0, node = None):
              # write your code here
              if node is None:
                  node = ListNode(0)
              if l1:
                  node.val += l1.val
                  l1 = l1.next
              if l2:
                  node.val += l2.val
                  l2 = l2.next
              
              car = node.val//10
              node.val %= 10
              
              if l1 or l2 or car:
                  node.next = ListNode(car)
                  self.addLists(l1,l2,car,node.next)
              return node

      纽约州·纽约
    • 0
    • 0
    • 0
    • 533
    • 请登录之后再进行评论

      登录
    • 做任务