给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。

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

进阶:

如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。

示例:

输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 8 -> 0 -> 7

思路:放入栈中再相加。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {Stack<Integer> s1 = new Stack<>();Stack<Integer> s2 = new Stack<>();while(l1 != null) {s1.push(l1.val);l1 = l1.next;}while(l2 != null) {s2.push(l2.val);l2 = l2.next;}ListNode res = null;int c = 0;while(!s1.isEmpty() || !s2.isEmpty() || c > 0) {int sum = (s1.isEmpty() ? 0 : s1.pop()) +(s2.isEmpty() ? 0 : s2.pop()) + c;ListNode n = new ListNode(sum % 10);c = sum / 10;n.next = res;res = n;}return res;}
}

leetcode445. 两数相加 II相关推荐

  1. leetcode-445. 两数相加 II

    给你两个 非空 链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储一位数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进阶: 如 ...

  2. 445. 两数相加 II golang

    题目 两数相加 II 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零 ...

  3. 【数据结构与算法】之深入解析“两数相加II”的求解思路与算法示例

    一.题目要求 给你两个非空链表来代表两个非负整数,数字最高位位于链表开始位置,它们的每个节点只存储一位数字,将这两数相加会返回一个新的链表. 可以假设除了数字 0 之外,这两个数字都不会以零开头. 示 ...

  4. LeetCode 445. 两数相加 II(链表大数加法)

    1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...

  5. Leetcode445 两数相加||(单链表)

    两数相加模板: //n进制数相加int carry=0; int bit; int 数1,数2; point1指向数1的最低位,point2指向数2的最低位 res;//结果 while(point1 ...

  6. 力扣每日一题——两数相加II

    发现做的题难度始终不高,今天Leecode给了一个稍微难一点的题目.(前两天没更是因为去拔牙了~~>_<~~) 给你两个 非空 链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每 ...

  7. leetcode算法题--两数相加 II

    原题链接:https://leetcode-cn.com/problems/add-two-numbers-ii/ 栈 ListNode* addTwoNumbers(ListNode* l1, Li ...

  8. leetcode链表中的两数相加问题

    2. 两数相加 找出两个链表中较长的链表,原地修改后,作为最后的返回结果 两个链表从前往后遍历,考虑进位,直到短链表结束. 将长链表数值放入结果(考虑进位). 考虑是否需要额外增加一个结点来放进位 c ...

  9. leetcode 两数相加c++_167. 两数之和 II - 输入有序数组

    167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1和 index2,其中 index1必须小 ...

最新文章

  1. JSON反序列的问题原因查找
  2. JAVA深入研究——Method的Invoke方法。
  3. 第五章 类加载器ClassLoader源码解析
  4. java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)
  5. Thread源码分析之join方法
  6. C++中的值初始化和默认初始化
  7. RocketMQ中的Topic和JMS的queue有什么区别?
  8. mysql5.1升级5.5_mysql数据库迁移,由版本5.1升级至5.5.29,需要注意哪些
  9. 通用职责分配软件原则之8-中介原则
  10. SQL SERVER存储过程的几种示例
  11. 神经网络图用什么软件做,图神经网络 图像处理
  12. 重磅!2022年JCR正式发布(附最新影响因子详单)
  13. 极域电子教室豪华版v6.0.2021有哪些功能
  14. R. Shankar《Principles of Quantum Mechanics (2nd)》(山卡《量子力学原理(第二版)》)双语目录
  15. 【柒】企业分析利器——强大企业模型
  16. 5个免费邮箱,10分钟临时邮箱,一定能用,持续更新
  17. 人力资源管理六大模块体系解读
  18. android 高级工具包,root工具箱app下载
  19. 编写训练一年级学生10以内减法的程序
  20. webstorm在哪里设置Ctrl+鼠标滚轮缩放界面大小教程

热门文章

  1. ajax 请求post和get,ajax请求get和post
  2. vue 给iframe设置src_vue组件中使用iframe元素
  3. UE4 动态创建Actor并且附加static mesh
  4. 陀螺仪、罗经、IMU、MEMS四者的区别
  5. C#异步编程-------异步编程模型(APM)
  6. 大数据-----软件开发模型(详细讲解)
  7. golang 包含 数组_Golang数组类型
  8. 【Python CheckiO 题解】The Most Numbers
  9. CCIE理论-第十篇-IPV6 VS IPV4(带你们看看U.S.A的ISP的设备)
  10. 【POJ - 2594】Treasure Exploration(floyd传递闭包 + 最小路径覆盖,图论)