《leetcode hot100》2. 两数相加

思路:

其实就是进行模拟,模拟我们正常的十进制加法;

备注:int num //指的是当前位之前的剩余进位和

注意点:

1.如果当模拟结束后num仍>0,那么还有加入一个尾节点大小为num

up的收获(QWQ):

复制代码
 tail.next = new ListNode((sum+num) % 10);//next是ListNode类型要new对象
            tail = tail.next;

当默认我们new 一个ListNode,那么他的next默认是null,你不能直接

tail.val=(sum+num)%10;

tail=tail.next;

还是太菜了,但是还没到终点前,都不会太晚!,平时都是用c++打算竞(QAQ)

好了,Accode如下

(尽情食用!)

复制代码
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head = new ListNode();
        ListNode tail = head;
        int num = 0;
        while (l1 != null || l2 != null) {
            
            int sum=0;//求当前位和
            if(l1!=null)sum+=l1.val;
            if(l2!=null)sum+=l2.val;

            tail.next = new ListNode((sum+num) % 10);//next是ListNode类型要new对象
            tail = tail.next;

            num = (sum+num) / 10;

            if (l1 != null)  l1 = l1.next;
            if (l2 != null)  l2 = l2.next;
        }
        if (num > 0) {//注意
            tail.next = new ListNode(num);
        }
        return head.next;
    }
}

over~

相关推荐
我材不敲代码9 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
wuweijianlove10 小时前
算法设计中的空间复用与数据对齐优化的技术5
算法
qq_3331209710 小时前
C++高并发内存池的整体设计和实现思路_C 语言
java·c语言·c++
mh_f10 小时前
33.批量通过GET链接下载图片到指定文件夹下
java
金銀銅鐵10 小时前
[Java] 如何理解 class 文件中方法的 access flags?
java·后端
智研数智工坊10 小时前
SpringBoot4.0.6 + Security7.x + JWT 最新完整实战|无状态权限认证、统一异常处理、可直接落地
java·spring boot·spring security·jwt·权限认证
DIY源码阁10 小时前
JavaSwing宿舍管理系统 - MySQL版
java·数据库·mysql·eclipse
Han_han91910 小时前
递归相关题目:
java
yuan1999710 小时前
基于 MATLAB PSO 工具箱的函数寻优算法
开发语言·算法·matlab
YUANQIANG202410 小时前
博弈论中势函数与势博弈构造:为什么看似 “先射箭后画靶”
算法·信息与通信