day35(12.16)——leetcode面试经典150

2. 两数相加

2. 两数相加

这道题唯一的难点就是cur如何往后移

题目:

题解:

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 list  = new ListNode(0);
        ListNode cur = list;
        int y = 0;
        while(l1 != null && l2 != null) {
            cur.next = new ListNode((l1.val + l2.val + y) % 10);
            y = (l1.val + l2.val + y) / 10;  
            l1 = l1.next;
            l2 = l2.next;
            cur = cur.next;
        }
        while(l1 != null) {
            cur.next = new ListNode((l1.val + y) % 10);
            y = (l1.val + y) / 10; 
            l1 = l1.next;
            cur = cur.next;
        }
        while(l2 != null) {
            cur.next = new ListNode((l2.val + y) % 10);
            y = (l2.val + y) / 10;
            l2 = l2.next;
            cur = cur.next;
        }
        if(y != 0) {
            cur.next = new ListNode(y);
            cur = cur.next;
        }
        //当前头是虚拟头,所以真正的链表是next之后的
        return list.next;
    }
}
相关推荐
yongui478344 小时前
混凝土二维随机骨料模型 MATLAB 实现
算法·matlab
酉鬼女又兒4 小时前
JAVA牛客入门11~20
算法
努力学算法的蒟蒻4 小时前
day75(2.3)——leetcode面试经典150
面试·职场和发展
代码游侠4 小时前
C语言核心概念复习(二)
c语言·开发语言·数据结构·笔记·学习·算法
XX風4 小时前
2.1_binary_search_tree
算法·计算机视觉
不想写bug呀4 小时前
买卖股票问题
算法·买卖股票问题
-Try hard-4 小时前
完全二叉树、非完全二叉树、哈希表的创建与遍历
开发语言·算法·vim·散列表
南风知我意9574 小时前
【前端面试3】初中级难度
前端·javascript·面试
华清远见成都中心4 小时前
GPIO(通用输入输出)面试中高频问题
单片机·面试·职场和发展
茉莉玫瑰花茶5 小时前
C++ 17 详细特性解析(4)
开发语言·c++·算法