现在的位置: 首页 > 综合 > 正文

LeetCode–Add Two Numbers

2018年10月01日 ⁄ 综合 ⁄ 共 471字 ⁄ 字号 评论关闭
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
        int c = 0;
        ListNode *result = new ListNode(0);
        ListNode *p = result;
        int tmp;
        do{
            tmp = 0;
            tmp += c;
            if(l1){
                tmp += l1->val;
                l1 = l1->next;
            }
            if(l2){
                tmp += l2->val;
                l2 = l2->next;
            }
            c = tmp / 10;
            p->val = tmp % 10;
            
            if(c!=0 || l1!=NULL || l2!=NULL){
                p->next = new ListNode(0);
                p = p->next;
            }
            else
                break;
        }while(1);
        
        return result;
    }
};

折腾了半天,希望极可能简洁吧。总算出来了。

抱歉!评论已关闭.