【力扣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;
    }
};
相关推荐
m0_706653235 小时前
高性能网络协议栈
开发语言·c++·算法
永远睡不够的入5 小时前
类和对象(上)
开发语言·c++·算法
想进个大厂5 小时前
代码随想录day31 贪心05
数据结构·算法·leetcode
yyy(十一月限定版)5 小时前
寒假集训1——暴力和枚举
数据结构·算法
橘颂TA5 小时前
【剑斩OFFER】算法的暴力美学——力扣 207 题:课程表
数据结构·c++·算法·leetcode·职场和发展
谁刺我心5 小时前
【蓝桥杯刷题环境】VScode插件算法刷题Competitive Companion
职场和发展·蓝桥杯
孞㐑¥5 小时前
算法—链表
开发语言·c++·经验分享·笔记·算法
学嵌入式的小杨同学5 小时前
【Linux 封神之路】文件操作 + 时间编程实战:从缓冲区到时间格式化全解析
linux·c语言·开发语言·前端·数据库·算法·ux
xqqxqxxq5 小时前
结构体(Java 类)实战题解笔记(持续更新)
java·笔记·算法
会开花的二叉树5 小时前
高性能定时器:时间轮算法的工程实践
算法