2.LeetCode(两数相加)——JavaScript
发布日期:2021-06-21 04:14:26 浏览次数:16 分类:技术文章

本文共 1012 字,大约阅读时间需要 3 分钟。

题目描述

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807

个人解法 + 分析

/** * 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) {
var node = new ListNode('0'); var head = node; var temp = 0; while (l1 || l2 || temp) {
var l1Val = l1 ? l1.val : 0; var l2Val = l2 ? l2.val : 0; temp = temp + l1Val + l2Val; node.next = new ListNode(temp % 10); node = node.next; temp = parseInt(temp / 10); l1 = l1 ? l1.next : l1; l2 = l2 ? l2.next : l2; }; return head.next;};

遇到的问题

  1. 当 l1 或 l2 达到链表的尾的时候,需要进行判断,否则会报错
  2. 当遇到最后一位要产生进位的时候,我们要判断 temp 的值
  3. 获取 l1 或者 l2 的 value 的时候 要判断 是否为空

转载地址:https://blog.csdn.net/leowahaha/article/details/110183627 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:1370.LeetCode(上升下降字符串)——JavaScript
下一篇:1.LeetCode(两数之和)——JavaScript

发表评论

最新留言

很好
[***.229.124.182]2024年08月29日 04时38分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章