Leetcode 解题 Add Two Numbers Python

原题:

You are given two linked lists representing two non-negative numbers.

The digits are stored in reverse order and each of their nodes contain a single digit

Add the two numbers and return it as a linked list

Input: (2->4->3) + (5->6->4)

Output: 7->0->8

代码如下,递归调用add函数即可:

class Solution:
    # @param {ListNode} l1
    # @param{ListNode}l2
    # return {ListNode}

    def addTwoNumbers(self, l1, l2):
        return self.add(l1, l2)
    def add(self, l1, l2, s=0):
        l = ListNode(s)
        if l1:
            l.val += l1.val
            l1 = l1.next
        if l2:
            l.val += l2.val
            l2 = l2.next
        s= l.val/10
        l.val = l.val % 10
        if l1 or l2 or s: l.next = self.add(l1, l2, s)
        return l

 

posted @ 2015-04-24 22:11  第八片叶子  阅读(173)  评论(0编辑  收藏  举报