首页 > 其他 > 详细

LeetCode 每日一题 (两数相加)

时间:2021-06-29 00:07:20      阅读:18      评论:0      收藏:0      [点我收藏+]

技术分享图片

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        
        ListNode *p = l1;
        ListNode *q = l2;

        ListNode *ret = nullptr;
        ListNode *curr = nullptr;

        int a = 0;
        int b = 0;

        int inc = 0;
        int t = 0;
        for(int i = 1;i<=100;i++){
            if (p == nullptr && q == nullptr){
                break;
            }

            if (p != nullptr){
                a = p->val;
                p = p->next;
            }else{
                a = 0;
            }
            
            if (q != nullptr){
                b = q->val;
                q = q->next;    
            }else{
                b = 0;
            }

            t = a + b + inc;
            inc = 0;
            if (t >= 10){
                inc = 1;
                t = t %10;
            }

            if (ret == nullptr){
                ret = new ListNode(t, nullptr);
                curr = ret;
            }else{
                curr->next = new ListNode(t, nullptr);
                curr = curr->next;
            }          
        }

        if (inc > 0){
            t = inc;
            if (ret == nullptr){
                ret = new ListNode(t, nullptr);
                curr = ret;
            }else{
                curr->next = new ListNode(t, nullptr);
                curr = curr->next;
            }
        }

        return ret;
    }
};

结果

技术分享图片

LeetCode 每日一题 (两数相加)

原文:https://www.cnblogs.com/lesten/p/LeetCode.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!