两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

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

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

解答

一、暴力法

思路:遍历l1和l2,求每个节点的和,创建l3保存每对节点的和,如果和大于10下一个节点直接创建一个基础值为1的节点,否则创建一个基础值为0的节点。

function ListNode(val) {this.val = val;this.next = null;
}
/*let l11 =new ListNode(2);
let l12 =new ListNode(4);
let l13 =new ListNode(3);
l11.next = l12
l12.next = l13
let l21 =new ListNode(5);
let l22 =new ListNode(6);
let l23 =new ListNode(4);
l21.next = l22
l22.next = l23*/
let l11 = new ListNode(1)
let l12 = new ListNode(8)
l11.next = l12
let l21 = new ListNode(0)
// let l11 = new ListNode(5)
// let l21 = new ListNode(5)let addTwoNumbers = function(l1, l2) {let l3 = new ListNode(null);let node = l3;while(l1|| l2){if(l1) l3.val = l1.val + l3.val;if(l2) l3.val = l2.val + l3.val;if (l3.val >= 10){l3.val = l3.val %10;l3.next = new ListNode(1);l3 = l3.next;}else {if((l1&& l1.next) || (l2&& l2.next)){l3.next = new ListNode(null);l3 = l3.next;}}if (l1) l1 = l1.next;if (l2) l2 = l2.next;}return node;
};
console.log(addTwoNumbers(l11,l21));

运行结果:

LeetCode:每日一题(2020.4.7)相关推荐

  1. Leetcode每日一题2020.11.13第328题:奇偶链表

    328.奇偶链表 题目描述 思路.算法及代码实现 方法:分离节点后合并 如果链表为空,则直接返回链表. 对于原始链表,每个节点都是奇数节点或偶数节点.头节点是奇数节点,头节点的后一个节点是偶数节点,相 ...

  2. LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述

    LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...

  3. Leetcode每日一题——思路小记

    文章目录 LeetCode每日一题 golang T15 2020.6.12 三数之和,双指针的运用 T70 2020.6.13 斐波那契数列 T1014 2020.6.17 最佳观光:双指针,计算公 ...

  4. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  5. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  6. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  7. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  8. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  9. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  10. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

最新文章

  1. elk集群配置配置文件中节点数配多少
  2. python】字符串练习题
  3. 重提URL Rewrite(4):不同级别URL Rewrite的一些细节与特点
  4. python机器学习应用mooc_(3)决策树
  5. Introduction to Computer Networking学习笔记(一):网络层模型及IP header
  6. 50个免费下载3D模型的站点
  7. ensp vlan 划分
  8. X8AIP 驱动程序
  9. android感应不了夜神模拟器,夜神模拟器使用(检测不到)
  10. 【线性规划】投资的收益和风险
  11. 懒人如何减肥肚子和腰 减腰腹最好的最快方法
  12. 三极管与恒流源充放电电路
  13. 虚幻4地形怎么增加层_虚幻周报20200407 | 在家也要好好工作呀~
  14. 2021年过氧化工艺模拟试题及过氧化工艺证考试
  15. 经典蓝牙和低功耗蓝牙的区别
  16. Kali linux学习入门-Kali菜单中各工具功能
  17. vmware创建共享文件夹
  18. Linux--系统安全及应用(一)(账号安全控制)
  19. 并发编程之LockSupport的 park 方法及线程中断响应
  20. 字体设计符号组合多功能微信小程序源码下载支持多流量主模式

热门文章

  1. 18. Magento 细节
  2. 19. JavaScript RegExp 对象
  3. 应用安全 - Web安全 - 文件包含攻防
  4. Linux Mysql5.6安装
  5. MVC案例——问题一:多个请求使用一个servlet
  6. 【搜索】P1032 字串变换
  7. FPGA实现“打字机”(VGA UART)
  8. PHPCMS V9 学习总结
  9. 网页采集时,常用的几种正则表达式
  10. oninput,onpropertychange和onchange的区别