首页 > 代码库 > Add Two Numbers

Add Two Numbers

题目: Add Two Numbers 
题目描述: 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.

程序设计

链表节点定义 
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): 
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

Add Two Numbers