-
给定两个非空链表表示两个非负整数。数字逆序存储。除了数字0不存在前缀是0,返回结果链表。
一个一个遍历呗。
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 """ l3=ListNode(0) cur=l3 sum=0 while True: if l1!=None: sum+=l1.val l1=l1.next if l2!=None: sum+=l2.val l2=l2.next cur.val=sum%10 sum/=10 if l1!=None or l2!=None or sum!=0: cur.next=ListNode(0) cur=cur.next else: break return l3
C++
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode *l3 = new ListNode(0); ListNode *cur = l3; int sum = 0; while (true) { if(l1) { sum += l1->val; l1 = l1->next; } if(l2){ sum += l2->val; l2 = l2->next; } cur->val = sum % 10; sum /= 10; if (l1 || l2 || sum != 0) { cur->next = new ListNode(0); cur = cur->next; } else break; } return l3; } };
Leetcode 2. Add Two Numbers
最新推荐文章于 2024-07-04 10:15:20 发布