【LeetCode】 137 链表求和

题目:

image-20210218152224268

image-20210218152100086

解题思路:

对两个链表从头到尾遍历,将每个位的数字相加并插入到新建链表上。注意处理两个链表不等长。

https://leetcode-cn.com/problems/sum-lists-lcci/solution/javaji-bai-100-bi-kan-by-wonderzlf-v7dm/

代码:

public class LC145 {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        // 判空输入
        if (l1==null) {
            return l2;
        } else if (l2==null) {
            return l1;
        }

        // 遍历两个输入链表
        ListNode head = null;
        ListNode first = null;
        int tmp = 0;
        while (l1!=null ||l2!=null) {
            tmp =tmp+(l1!=null?l1.val:0)+(l2!=null?l2.val:0);
            if (first==null) {
                first = new ListNode(tmp%10);
                head = first;
            } else {
                first.next = new ListNode(tmp%10);
                first = first.next;
            }
            l1=(l1!=null?l1.next:null);
            l2=(l2!=null?l2.next:null);
            tmp /= 10;
        }
        // 处理相加的进位
        if (tmp!=0) {
            first.next = new ListNode(tmp);
        }
        return head;
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值