leetcode add two numbers python

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def addTwoNumbers(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        cur = None
        carry = 0
        sum = 0
        while l1 or l2 or carry:
            
            sums = carry
            if l1:
                sums += l1.val
                l1 = l1.next
            if l2:
                sums += l2.val
                l2 = l2.next
                
            if sums >= 10:
                carry = 1
                sums %=10
            else:
                carry = 0
            item = ListNode(sums)
            if cur == None:
                cur = item
            else:
                p = cur
                while p.next != None:
                    p = p.next
                p.next = item
            
        return cur

 

posted @ 2015-11-03 21:12  hao.ma  阅读(119)  评论(0编辑  收藏  举报