LeetCode-Hot100 28.两数相加

本题的核心在于处理和的进位,通过一个标志位变量表示加法进位,然后判断是否还需要向后延伸链表,只要有一个链表还没遍历结束,结果链表就需要往后延续,思路很简单,关键在于进位的处理

示例代码

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode dummy = new ListNode();
        ListNode cur = dummy;
        int carry = 0;
        while (l1 != null || l2 != null || carry != 0) {
            if (l1 != null) {
                carry += l1.val;
                l1 = l1.next;
            }
            if (l2 != null) {
                carry += l2.val;
                l2 = l2.next;
            }
            cur.next = new ListNode(carry%10);
            cur = cur.next;
            carry/=10;

        }
        return dummy.next;
    }
}

注意取余和整除的使用,最开始就用反了,同时要思考一下,如果是有进位,后续是如何判断进位结束的?

相关推荐
m0_561359672 小时前
C++中的过滤器模式
开发语言·c++·算法
AI科技星2 小时前
加速运动电荷产生引力场方程求导验证
服务器·人工智能·线性代数·算法·矩阵
啊阿狸不会拉杆2 小时前
《数字信号处理》第9章:序列的抽取与插值——多抽样率数字信号处理基础
算法·matlab·信号处理·数字信号处理·dsp
what丶k2 小时前
深入理解贪心算法:从原理到经典实践
算法·贪心算法·代理模式
郝学胜-神的一滴2 小时前
B站:从二次元到AI创新孵化器的华丽转身 | Google Cloud峰会见闻
开发语言·人工智能·算法
BHXDML2 小时前
数据结构:(三)字符串——从暴力匹配到 KMP 的跨越
数据结构·算法
2301_790300962 小时前
嵌入式GPU编程
开发语言·c++·算法
半桔2 小时前
【设计模式】策略模式:可插拔算法,从硬编码到灵活适配,体会“算法解耦“思想
java·c++·算法·设计模式·策略模式
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章18-图像缩放
图像处理·人工智能·opencv·算法·计算机视觉