2. 两数相加

目录

题目链接

题目

解题思路

代码


题目链接

2. 两数相加 - 力扣(LeetCode)

题目

解题思路

设置一个哑结点,如果两个指针只要有一个不空就循环下去,设置一个int变量记录数值大小(进行进位也使用它)

代码
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 dummyNode=new ListNode(-1);
        ListNode p=dummyNode;
        int pre=0;
        while(l1!=null||l2!=null){
            if(l1!=null){
                pre+=l1.val;
            }
            if(l2!=null){
                pre+=l2.val;
            }

            if(l1!=null){
                l1.val=pre%10;
                p.next=l1;
            }else{
                l2.val=pre%10;
                p.next=l2;
            }
            if(l1!=null) l1=l1.next;
            if(l2!=null) l2=l2.next;
            p=p.next;
            pre=pre/10;
        }
        if(pre!=0){
            p.next=new ListNode(pre);
        }
        return dummyNode.next;
    }
}
相关推荐
用户50408278583930 分钟前
1. RAG 权威指南:从本地实现到生产级优化的全面实践
算法
Python×CATIA工业智造2 小时前
详细页智能解析算法:洞悉海量页面数据的核心技术
爬虫·算法·pycharm
无聊的小坏坏3 小时前
力扣 239 题:滑动窗口最大值的两种高效解法
c++·算法·leetcode
黎明smaly3 小时前
【排序】插入排序
c语言·开发语言·数据结构·c++·算法·排序算法
YuTaoShao3 小时前
【LeetCode 热题 100】206. 反转链表——(解法一)值翻转
算法·leetcode·链表
YuTaoShao3 小时前
【LeetCode 热题 100】142. 环形链表 II——快慢指针
java·算法·leetcode·链表
CCF_NOI.3 小时前
(普及−)B3629 吃冰棍——二分/模拟
数据结构·c++·算法
运器1234 小时前
【一起来学AI大模型】支持向量机(SVM):核心算法深度解析
大数据·人工智能·算法·机器学习·支持向量机·ai·ai编程
Zedthm4 小时前
LeetCode1004. 最大连续1的个数 III
java·算法·leetcode
神的孩子都在歌唱4 小时前
3423. 循环数组中相邻元素的最大差值 — day97
java·数据结构·算法