题目描述

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 两个链表相加相关推荐

  1. LeetCode: 2_Add Two Numbers | 两个链表中的元素相加 | Medium

    题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...

  2. 2. Add Two Numbers 两数相加

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  3. java三位整数倒序相加_用单向链表实现两数倒序相加(java实现)

    很久没做算法题了,准备重操旧业,于是刷了一波LeetCode,看到一个比较经典的链表算法题,分享出来. 题目 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将 ...

  4. 单链表反转2个数字单链表相加

    单链表反转 单链表是常用的数据结构,在开发中经常使用,我们现在来实现单链表的反转. private class Node<T> {public Node<T> next;pub ...

  5. LeetCode2——Add Two Numbers(两个链表中的数字相加,形成新链表)

    鄙人不才,故收录LeetCode中的解法和代码. 题目: 参考解法: /*** Definition for singly-linked list.* struct ListNode {* int v ...

  6. leetcode算法—两数相加 Add Two Numbers

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...

  7. java方法2数据求和_Leet Code 2 Add Two Numbers - 链表表示的两个数求和 - Java

    给定两个链表表示的非负整数,每个节点存储一位数,各位数以逆序存储.将两个数相加,以链表形式返回结果. 例如: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) ...

  8. leetcode 2. Add Two Numbers | 2. 两数相加(Java)

    题目 https://leetcode.com/problems/sum-of-two-integers/ 题解 需要注意 当两个链表不一样长时 的收尾处理. /*** Definition for ...

  9. 【链表】Add Two Numbers

    题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...

最新文章

  1. TFboy养成记 多层感知器 MLP
  2. PHP使用Switch语句判断星座,PHP的switch判断语句的“高级”用法详解 用switch语句怎样判断成绩的等级...
  3. python模块之configparser
  4. Linux下的进程内存结构
  5. 详解收发不畅原因及U-Mail邮件中继解决之道
  6. 3. 线性表的链式结构
  7. TF卡开启被写保护怎么办
  8. 漏洞CNNVD-201805-248的复现与提权
  9. 等参元:平面四节点四边形等参元的刚度矩阵的计算
  10. android简单计时器源码,Android计时器的三种实现方式(Chronometer、Timer、handler)...
  11. 9.25+9.27 联考
  12. 投资组合报告-马科维茨模型
  13. 前端设置画布的高度_前端页面内的高度、位置简述
  14. conda create创建虚拟环境失败
  15. 瑞禧整理常见的抗体药物偶连物(ADC-Linker)名称及结构式大全
  16. 移动端布局 - rem布局
  17. 在JDBC中实现SQL语句的模糊查询
  18. 大数据第一章(Linux环境部署JDKMysql)
  19. 产品经理和项目经理谁才是项目管理界的NO.1?
  20. nginx配置ip黑名单

热门文章

  1. 2020计算机语言排行 rust,RedMonk 2020 年 Q3 编程语言排行:Rust 首次进入前 20
  2. 土木转计算机 但计算机学院不好,土木妹子转计算机,较高三维水科研,求指导!...
  3. 卸载源码安装mysql_CentOS7下源码安装MySQL5.7.6+
  4. 如何注释python中html,Python在HTML中提取带注释的代码,python,html,被
  5. vue修改入口文件名字_webpack打包vue项目,可修改配置文件
  6. dataframe修改数据_数据处理进阶pandas入门(一)
  7. fastjson 不转某些字段_全面总结Fastjson过滤字段、排除字段的5种方法(含示例)...
  8. jboss修改服务器端口,改了默认端口的jboss不能用shutdown.sh关闭,怎样解决
  9. ad域管理与维护_在NAS SMB卷上使用VisualSVN Server维护代码库
  10. 查询linux上调度命令,浅析Linux中crontab任务调度