Leetcode2两数相加(链表应用)

简介: Leetcode2两数相加(链表应用)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
答题

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} l1
 * @param {ListNode} l2
 * @return {ListNode}
 */
var addTwoNumbers = function(l1, l2) {
    let jin = 0
    let newHead = new ListNode(0,null)
    let head = newHead
    while(jin || l1 || l2){
        let l1Val = l1?l1.val:0
        let l2Val = l2?l2.val:0
        let curr = 0
        if(l1Val + l2Val + jin > 10){
            curr = (l1Val + l2Val + jin) %10
            jin = 1

        }else if(l1Val + l2Val + jin === 10){
            curr = 0
            jin = 1
        }else{
            curr = l1Val + l2Val + jin
            jin = 0
        }
        if(l1){
        l1 = l1.next
        }
        if(l2){
        l2 = l2.next
        }

        newHead.next = new ListNode(curr)
        newHead = newHead.next

    }
    return head.next

};

答题思路:
这道题要掌握的倒还比较简单,主要有以下几点
1、链表递归,如何设置next next
设置链表时应给一个head,同样再由一个变量循环引用其next对象,到最后返回head即可
2、有进位时如何处理
针对这道题比较简单按照0-9、10、11-19来进行区分,记得先计算个位数,再重新赋值进位是0 还是1

相关文章
|
25天前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
33 1
|
1月前
Leetcode第21题(合并两个有序链表)
这篇文章介绍了如何使用非递归和递归方法解决LeetCode第21题,即合并两个有序链表的问题。
47 0
Leetcode第21题(合并两个有序链表)
|
1月前
LeetCode第二十四题(两两交换链表中的节点)
这篇文章介绍了LeetCode第24题的解法,即如何通过使用三个指针(preNode, curNode, curNextNode)来两两交换链表中的节点,并提供了详细的代码实现。
16 0
LeetCode第二十四题(两两交换链表中的节点)
|
1月前
Leetcode第十九题(删除链表的倒数第N个节点)
LeetCode第19题要求删除链表的倒数第N个节点,可以通过快慢指针法在一次遍历中实现。
38 0
Leetcode第十九题(删除链表的倒数第N个节点)
|
2月前
|
存储 Java 索引
【数据结构】链表从实现到应用,保姆级攻略
本文详细介绍了链表这一重要数据结构。链表与数组不同,其元素在内存中非连续分布,通过指针连接。Java中链表常用于需动态添加或删除元素的场景。文章首先解释了单向链表的基本概念,包括节点定义及各种操作如插入、删除等的实现方法。随后介绍了双向链表,说明了其拥有前后两个指针的特点,并展示了相关操作的代码实现。最后,对比了ArrayList与LinkedList的不同之处,包括它们底层实现、时间复杂度以及适用场景等方面。
67 10
【数据结构】链表从实现到应用,保姆级攻略
|
29天前
|
存储
探索数据结构:单链表的实践和应用
探索数据结构:单链表的实践和应用
|
1月前
|
索引
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
73 0
|
1月前
【LeetCode 10】142. 环形链表 II
【LeetCode 10】142. 环形链表 II
20 0
|
1月前
【LeetCode 09】19 删除链表的倒数第 N 个结点
【LeetCode 09】19 删除链表的倒数第 N 个结点
14 0
|
1月前
【LeetCode 08】206 反转链表
【LeetCode 08】206 反转链表
12 0