【力扣hot100题】(027)两数相加

思路是每次将l2加到l1,要加上进位符,位数不足的一方需要填充0。

cpp 复制代码
/**
 * 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* result=l1;
        int jw=0;
        ListNode* pre=l1;
        while(l1&&l2){
            int sum=l1->val+l2->val+jw;
            jw=sum/10;
            if(sum>=10) l1->val=sum%10;
            else l1->val=sum;
            if(l1->next==nullptr&&l2->next) l1->next=new ListNode(0);
            else if(l2->next==nullptr&&l1->next) l2->next=new ListNode(0);
            pre=l1;
            l1=l1->next;
            l2=l2->next;
        }
        if(jw==1) pre->next=new ListNode(1);
        return result;
    }
};
相关推荐
invincible_Tang1 小时前
R格式 (15届B) 高精度
开发语言·算法·r语言
独好紫罗兰2 小时前
洛谷题单2-P5715 【深基3.例8】三位数排序-python-流程图重构
开发语言·python·算法
序属秋秋秋2 小时前
算法基础_基础算法【高精度 + 前缀和 + 差分 + 双指针】
c语言·c++·学习·算法
玉树临风ives2 小时前
leetcode 2360 图中最长的环 题解
算法·leetcode·深度优先·图论
KeithTsui3 小时前
GCC RISCV 后端 -- 控制流(Control Flow)的一些理解
linux·c语言·开发语言·c++·算法
mNinGInG3 小时前
c++练习
开发语言·c++·算法
纪元A梦4 小时前
分布式锁算法——基于ZooKeeper的分布式锁全面解析
java·分布式·算法·zookeeper
三歪爱三玖4 小时前
【蓝桥杯】单片机设计与开发,速成备赛
单片机·职场和发展·蓝桥杯
Panesle4 小时前
广告推荐算法:COSMO算法与A9算法的对比
人工智能·算法·机器学习·推荐算法·广告推荐
月亮被咬碎成星星4 小时前
LeetCode[15]三数之和
数据结构·算法·leetcode