leetcode 2. 两数相加
难度:中等
频次:72
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
注意:不要受逆序影响,他本来就是为了你方便做,给你逆序的。
解题思路:遍历【按加法运算来即可】
注意
//先算个位,个位值不影响进位value=(add+t1+t2)%10; //而进位会影响进位add=(add+t1+t2)/10; 这两个位置不能更换,一换就会报错。
代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {int add=0;int value=0;int t1=0,t2=0;ListNode dummyhead=new ListNode(-1);ListNode p=dummyhead;//每一个节点相加,判断值,如果大于10,就插入尾数,进位要累加到下一个节点while(l1!=null||l2!=null){if(l1==null){t1=0;t2=l2.val;l2=l2.next;}else if(l2==null){t2=0;t1=l1.val;l1=l1.next;}else {t1=l1.val;l1=l1.next;t2=l2.val;l2=l2.next;}//先算个位,个位值不影响进位value=(add+t1+t2)%10; //而进位会影响进位add=(add+t1+t2)/10; ListNode temp=new ListNode(value);p.next=temp;p=temp;}if(add==1) {ListNode temp=new ListNode(add);p.next=temp;}return dummyhead.next;}
}
leetcode 2. 两数相加相关推荐
- [链表遍历|模拟] leetcode 2 两数相加
[链表遍历|模拟] leetcode 2 两数相加 1.题目 题目链接 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果 ...
- 20200114:(leetcode)两数相加
两数相加 题目 主要思路 代码实现 题目 注意点:不以0开头 主要思路 逐个相加即可,注意需要逆序加,注意进位即可: 由于数字是个位数的,因此进位只有可能是0或者1: 注意定义的有参构造器. 代码实现 ...
- LeetCode 445. 两数相加 II(链表大数加法)
1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...
- LeetCode 2 两数相加
给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...
- LeetCode 2 两数相加(链表)
题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...
- LeetCode:2. 两数相加(中等)
2. 两数相加(中等) 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位 解题过程存在这样几个问题: 1.进行循环 ...
- leetcode算法—两数相加 Add Two Numbers
关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...
- leetcode —— 2. 两数相加 (对于链表更新的细节)
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- 力扣(Leetcode)-2. 两数相加
描述 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设除了数字 ...
最新文章
- Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)
- 服务器比普通电脑响应速度快吗,云服务器比普通的快吗
- 个性化推荐系统研究热点之用户画像
- C基础(31——35)
- mysql全量和增量备份脚本
- HDOJ 4883 TIANKENG’s restaurant
- 排序1+1:冒泡排序法(BubbleSort)的改进以及效率比较
- USACO-Section2.3 Zero Sum
- oracle 创建表空间 pcincrease,oracle建表空间
- EmEditor 常用功能
- 早餐为啥不能吃大米粥?医生:不仅是米粥,这3物也最好少吃
- android 连接tftp 服务器
- 基于Python爬虫的网易云音乐
- Linux运维遇到的基本问题解决大全
- VBScript的中ByRef和ByVal的不同
- ffmpeg获取视频封面图片
- 蓝奏云分享文件无法下载地址失效的解决办法
- USB Camera摄像头 (UVC 与 gspca)
- python-脚本自动生成二维码QRcode/quick response code
- e舞成名2月新歌脚谱更新