题目:

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解决方法:

package com.xinyu.test;/*** Created by zy on 2019/4/16.*/
public class TestArray1 {public static void main(String[] args) {ListNode listNodeOne = new ListNode(2);ListNode listNodeOne1 = new ListNode(4);ListNode listNodeOne2 = new ListNode(3);listNodeOne.next = listNodeOne1;listNodeOne1.next = listNodeOne2;ListNode listNodeTwo = new ListNode(5);ListNode listNodeTwo1 = new ListNode(6);ListNode listNodeTwo2 = new ListNode(4);listNodeTwo.next = listNodeTwo1;listNodeTwo1.next =listNodeTwo2;ListNode listNode = addTwoNumbers(listNodeOne, listNodeTwo);System.out.println(listNode);}/**** 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。* @return*/public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head = null;ListNode curNode = null;int addPlus = 0;do {int val1 = l1 !=null ? l1.val : 0;int val2 = l2 != null ? l2.val : 0;int result = (val1 + val2 + addPlus) % 10;addPlus = (val1 + val2 + addPlus ) /10;ListNode node = new ListNode(result);if (head == null) {head = node;curNode = head;}else {curNode.next = node;curNode = node;}l1 = l1 !=null ? l1.next : null;l2 = l2 !=null ? l2.next : null;}while (l1 != null || l2 != null || addPlus != 0);return head;}static class ListNode {int val;ListNode next;ListNode(int x) { val = x; }
}
}

总结:

算法不能断,一断有危险。

算法---------数组-----------两数相加相关推荐

  1. 【每日一算法】两数相加

    微信改版,加星标不迷路! 每日一算法-两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两 ...

  2. 【LeetCode每周算法】两数相加

    题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是 ...

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

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

  4. leetcode算法题--两数相加

    题目地址:https://leetcode-cn.com/problems/add-two-numbers/ 用一个carry记下进位就行,像加法器的原理一样. ListNode* addTwoNum ...

  5. 两数相加——哈希表算法

    力扣刷题总结 一.前言 二.两数相加 1.题意 2.示例 3.题目解析 4.官方题解 思路分析 哈希表算法的优势: 思路及算法: 代码分析 C语言代码实现及详细注释说明: python代码实现及详细注 ...

  6. 数组中两个数的最大异或值 两数异或值一定小于两数相加和

    链接:数组中两个数的最大异或值 给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n . 进阶:你可以在 O(n) 的时间 ...

  7. 算法实战(二)两数相加

    一.前言 今天开始第二题,有句话写给自己也写给大家,Rome wasn't built in one day!算法很难,刷题的过程也很痛苦,但是只要我们能坚持下去,以后的收获将会是巨大的.希望我们都能 ...

  8. js 实现两数相加的算法

    关于算法 两数相加 (leetcod上的的一道算法题) 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我 ...

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

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

最新文章

  1. oracle scn与数据恢复,SCN与数据库恢复的关系
  2. ABAP將數字輸出前面補0
  3. [BZOJ1130] [POI2008]POD Subdivision of Kingdom
  4. android 如何修改百度导航诱导界面,Android 百度导航SDK
  5. 前端学习(1396):项目包含的知识点cookie和session
  6. python多线程同步与互斥_python多线程编程(3): 使用互斥锁同步线程
  7. 《黑客》月刊中文版第一期正式发布,很给力!推荐围观!
  8. VS2013+OpenCV3.0编译CMT跟踪算法
  9. ATL(COM) 开发下 -- VS2010
  10. numpy 加速 矩阵相加_Numpy知识
  11. 在Unity进行平台打包发布的时候需要注意的一些细节问题
  12. 二十四、JAVA集合框架(三)
  13. 华为USG6000单臂路由
  14. 小米路由固件中lua文件反编译
  15. Android 适配时用到的限定词
  16. iOS 直播流程概述
  17. [解决问题]注册表修改windows用户名后,vscode以前的扩展消失
  18. MySQL 数据库 day-03
  19. 如何做一个基于微信酒店预订小程序系统毕业设计毕设作品
  20. 苏宁易购接口api电商数据获取

热门文章

  1. python中sys用法_python中os和sys模块的区别与常用方法总结
  2. java日志切割工具_用 Java 实现的日志切割清理工具
  3. 线程组名称_Netty在Dubbo中的线程名称
  4. C++知识点24——使用C++标准库(顺序容器deque的初始化,赋值,访问,添加,删除,交换与迭代器失效)
  5. matlab光滑曲线连接散点图
  6. Android Jetpack架构组件之 Room(使用、源码篇)
  7. 组队练习赛(Regionals 2012, North America - East Central NA)
  8. 深入浅出Rust-Future-Part-5.md
  9. mysql function使用
  10. Wikioi 1020 孪生蜘蛛 Label:Floyd最短路