c++-add two numbers 两个链表相加
题目描述
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
这道题考察的是链表相加,最简单的方法就是用新的链表来存入数据,因此关键点在于链表的新建:
利用new来开辟存储空间,也就是堆:
/*** 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) {int temp;int flag=0;ListNode* p=l1;ListNode* q=l2;ListNode* res_head = new ListNode(-1);ListNode* res_tmp=res_head;while(p!=NULL || q!=NULL || flag){temp=(p?p->val:0)+(q?q->val:0)+flag;flag=0;if(temp>=10){temp-=10;flag=1;}ListNode* tmp = new ListNode(temp);res_tmp->next=tmp;res_tmp=res_tmp->next;if(p) p = p->next;if(q) q = q->next;}return res_head->next;}
};
转载于:https://www.cnblogs.com/sichenzhao/p/9320176.html
c++-add two numbers 两个链表相加相关推荐
- LeetCode: 2_Add Two Numbers | 两个链表中的元素相加 | Medium
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
- 2. Add Two Numbers 两数相加
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- java三位整数倒序相加_用单向链表实现两数倒序相加(java实现)
很久没做算法题了,准备重操旧业,于是刷了一波LeetCode,看到一个比较经典的链表算法题,分享出来. 题目 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将 ...
- 单链表反转2个数字单链表相加
单链表反转 单链表是常用的数据结构,在开发中经常使用,我们现在来实现单链表的反转. private class Node<T> {public Node<T> next;pub ...
- LeetCode2——Add Two Numbers(两个链表中的数字相加,形成新链表)
鄙人不才,故收录LeetCode中的解法和代码. 题目: 参考解法: /*** Definition for singly-linked list.* struct ListNode {* int v ...
- leetcode算法—两数相加 Add Two Numbers
关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...
- java方法2数据求和_Leet Code 2 Add Two Numbers - 链表表示的两个数求和 - Java
给定两个链表表示的非负整数,每个节点存储一位数,各位数以逆序存储.将两个数相加,以链表形式返回结果. 例如: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) ...
- leetcode 2. Add Two Numbers | 2. 两数相加(Java)
题目 https://leetcode.com/problems/sum-of-two-integers/ 题解 需要注意 当两个链表不一样长时 的收尾处理. /*** Definition for ...
- 【链表】Add Two Numbers
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
最新文章
- TFboy养成记 多层感知器 MLP
- PHP使用Switch语句判断星座,PHP的switch判断语句的“高级”用法详解 用switch语句怎样判断成绩的等级...
- python模块之configparser
- Linux下的进程内存结构
- 详解收发不畅原因及U-Mail邮件中继解决之道
- 3. 线性表的链式结构
- TF卡开启被写保护怎么办
- 漏洞CNNVD-201805-248的复现与提权
- 等参元:平面四节点四边形等参元的刚度矩阵的计算
- android简单计时器源码,Android计时器的三种实现方式(Chronometer、Timer、handler)...
- 9.25+9.27 联考
- 投资组合报告-马科维茨模型
- 前端设置画布的高度_前端页面内的高度、位置简述
- conda create创建虚拟环境失败
- 瑞禧整理常见的抗体药物偶连物(ADC-Linker)名称及结构式大全
- 移动端布局 - rem布局
- 在JDBC中实现SQL语句的模糊查询
- 大数据第一章(Linux环境部署JDKMysql)
- 产品经理和项目经理谁才是项目管理界的NO.1?
- nginx配置ip黑名单
热门文章
- 2020计算机语言排行 rust,RedMonk 2020 年 Q3 编程语言排行:Rust 首次进入前 20
- 土木转计算机 但计算机学院不好,土木妹子转计算机,较高三维水科研,求指导!...
- 卸载源码安装mysql_CentOS7下源码安装MySQL5.7.6+
- 如何注释python中html,Python在HTML中提取带注释的代码,python,html,被
- vue修改入口文件名字_webpack打包vue项目,可修改配置文件
- dataframe修改数据_数据处理进阶pandas入门(一)
- fastjson 不转某些字段_全面总结Fastjson过滤字段、排除字段的5种方法(含示例)...
- jboss修改服务器端口,改了默认端口的jboss不能用shutdown.sh关闭,怎样解决
- ad域管理与维护_在NAS SMB卷上使用VisualSVN Server维护代码库
- 查询linux上调度命令,浅析Linux中crontab任务调度