LeetCode-----第二题-----两数相加
2. 两数相加
难度:中等
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
题目解析:
主要考虑两个问题,一个是两个链表长短不一样,另一个是最后的进位还存在,最后还需要构建一个节点存放
参考代码:
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {if (l1 == NULL && l2 != NULL)return l2;if (l1 != NULL && l2 == NULL)return l1;if (l1 == NULL && l2 == NULL)return NULL;int temp = 0;//进位和ListNode* head = new ListNode(0);ListNode* pMove = head;while (l1 != NULL && l2 != NULL){temp += l1->val + l2->val;ListNode* new_node = new ListNode(temp % 10);pMove->next = new_node;pMove = pMove->next;temp /= 10;l1 = l1->next;l2 = l2->next;}while (l1 != NULL){temp += l1->val;ListNode* new_node = new ListNode(temp % 10);temp /= 10;pMove->next = new_node;pMove = pMove->next;l1 = l1->next;}while (l2 != NULL){temp += l2->val;ListNode* new_node = new ListNode(temp % 10);temp /= 10;pMove->next = new_node;pMove = pMove->next;l2 = l2->next;}if (temp > 0){ListNode* new_node = new ListNode(temp % 10);pMove->next = new_node;}return head->next;}
};
LeetCode-----第二题-----两数相加相关推荐
- python怎么设编程两个数相加时_黄哥Python, LeetCode 第二题两数相加代码
来源力扣leetcode-cn.com 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相 ...
- leetcode第一题两数相加
leetcode两数相加: 提示: 问题描述: int* twoSum(int* nums, int numsSize, int target, int* returnSize) {for (int ...
- leetCode刷题--两数相加
给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设除了数字 0 ...
- leetcode算法题--两数相加 II
原题链接:https://leetcode-cn.com/problems/add-two-numbers-ii/ 栈 ListNode* addTwoNumbers(ListNode* l1, Li ...
- leetcode算法题--两数相加
题目地址:https://leetcode-cn.com/problems/add-two-numbers/ 用一个carry记下进位就行,像加法器的原理一样. ListNode* addTwoNum ...
- LeetCode题库第2题 两数相加
两数相加 LeetCode题库第二题 两数相加 看完题目,就可以将题目抽象为三个指针,前两个指针是l1和l2,后一个指针是我们要求的,这三个指针同时移动,由于可能会产生进位,所以可以用一个变量来存储这 ...
- 力扣每日一题——两数相加II
发现做的题难度始终不高,今天Leecode给了一个稍微难一点的题目.(前两天没更是因为去拔牙了~~>_<~~) 给你两个 非空 链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每 ...
- LeetCode实战:两数相加
题目英文 You are given two non-empty linked lists representing two non-negative integers. The digits are ...
- 【LeetCode】2.两数相加
1.两数相加 一.问题描述 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表 ...
- leetCode刷题-第二题两数之和
两数之和 题目连接: 题目链接 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的 ...
最新文章
- 分布式事务+DDD+负载均衡+服务治理已撸!微服务不就这点事?
- 乌心工作!又被测试给搞了!!!
- Java编译那些事儿【转】
- 2020年第十五届全国大学生智能汽车竞赛浙江赛区比赛成绩分析
- android毛玻璃效果,Android 中实现毛玻璃效果
- html for 循环模板
- 产生线程安全的原因(1)(操作系统)
- 腾讯3轮面试都问了Android事件分发,原理+实战+视频+源码
- P2P中的NAT穿越方案简介
- LeetCode 480. 滑动窗口中位数(大小堆升级版+set实现)
- 【Socket】关于socket长连接的心跳包
- 04737 c++ 自学考试2019版 第四章课后程序设计题1
- LINUX下定时备份MYSQL数据库SHELL脚本
- 编译器C-Free V352注册算法分析
- 解决Flex4 发布后访问 初始化极其缓慢的问题
- vscode输入特殊符号
- 基于Springboot的个人博客网站系统——可用于毕业设计(课程设计)
- Maya:绑定—机械臂动画
- 五、python-地图可视化篇(黑马程序猿-python学习记录)
- DELL R630升级BIOS固件和IDARC
热门文章
- 图像处理之EXIF信息
- CentOS7定制Gnome3外观
- ireport 实现动态合并单元格
- 华为Ruby语言需要去理解的东东
- 用MySQL后电脑频繁蓝屏_电脑容易蓝屏怎么办_电脑突然开始频繁蓝屏修复方法-win7之家...
- 如何修改echarts源码(其他框架也可适用)
- 火星探险问题 网络流
- Android虚拟机AVD has terminated
- js 骂人不带脏字 (!(~+[]) + {})[--[~+][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] * ~+[]] 图解...
- 怎么样才算是精通 C++?