LeetCode:2. 两数相加(中等)
2. 两数相加(中等)
- 题目:
- 解题思路:
- 源码:
- 踩坑点:
题目:
解题思路:
把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位
解题过程存在这样几个问题:
1、进行循环时,俩个链表长度不相等;9876 + 543
2、俩个链表的数相加时,长度大于俩个链表中的任何一个; 9876 + 543 = 10419
源码:
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){struct ListNode* res = (struct ListNode*) calloc (1, sizeof(struct ListNode));struct ListNode* result = res; int a, b, c = 0; while(l1 != NULL || l2 != NULL || c != 0){ if(l1 != NULL){a = l1 -> val;l1 = l1 -> next;}else{a = 0;}if(l2 != NULL){b = l2 -> val;l2 = l2 -> next;}else{b = 0;}if(a + b + c >= 10){result->val = a+b+c-10;c = 1;}else{result->val = a+b+c;c = 0;}if(l1 != NULL || l2 != NULL || c != 0)result -> next = (struct ListNode*) calloc(1, sizeof(struct ListNode));result = result -> next;}return res;
}
踩坑点:
题目本身算法不难,要注意的是采用链式存储,就要考虑到:
1、开辟空间存储结果,那么这个空间要开辟多大
2、如何避免空指针的问题(这个是真的ex到我了)
3、当一个链表已经到了最后但另一个链表还有数据时,如何做到对应位相加。
9,8,7,6和NULL,5,4,3;9和NULL如何相加
LeetCode:2. 两数相加(中等)相关推荐
- 2. 两数相加(中等)
2. 两数相加(中等) 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一 ...
- [链表遍历|模拟] leetcode 2 两数相加
[链表遍历|模拟] leetcode 2 两数相加 1.题目 题目链接 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果 ...
- 20200114:(leetcode)两数相加
两数相加 题目 主要思路 代码实现 题目 注意点:不以0开头 主要思路 逐个相加即可,注意需要逆序加,注意进位即可: 由于数字是个位数的,因此进位只有可能是0或者1: 注意定义的有参构造器. 代码实现 ...
- LeetCode 445. 两数相加 II(链表大数加法)
1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...
- LeetCode 2 两数相加
给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...
- LeetCode 2 两数相加(链表)
题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...
- leetcode算法—两数相加 Add Two Numbers
关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...
- leetcode 2. 两数相加
难度:中等 频次:72 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. ...
- leetcode —— 2. 两数相加 (对于链表更新的细节)
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
最新文章
- excel 按数据拆分 xlam_利用EXCEL提升效率之五分钟缩短至五秒批量合并EXCEL批量转换PDF批量上传报关单随附单据___EXCELVBA...
- font-family字体总结
- 解决Office 2010出现the setup controller has encountered a problem...
- C++ 使用静态变量和静态方法统计学生分数和学生个数
- pandas分批读取csv文件
- android listview 自动循环滚动条,ListView的自动循环滚动显示【原创】
- Android升级butterknife,Android组件化开发中使用Butterknife的坑
- 手把手教你Python获取全部金融数据
- 计算机应用研究潜规则,基于相容矩阵计算的不完备决策系统规则获取算法
- Duilib初级控件扩展一例: 具有鼠标滚动消息的OptionUI
- [HNOI2012]集合选数 BZOJ2734
- 访问数组元素的 3 种方法
- 老旧小区安防升级改造有机遇也有难度
- c语言程序转python_C语言程序转换为Python语言
- 新华linux桌面操作系统3.0
- java日文_怎么用java编写个应用程序,让其输出日文表
- 亚马逊森林大火----- 我也来评论一下
- linux系统修改ip地址教程。
- 计组-booth乘法-谈原理和实现
- 国家开放大学2021春1174水工钢筋混凝土结构(本)题目
热门文章
- apache负载均衡 健康检查_Nginx负载均衡之健康检查
- bean json转kotlin_Android--------kotlin插件神器Json直接生成javaBean
- NAR再版 | 人类长非编码RNA知识库LncRNAWiki 2.0
- linux6.5能安装的firefox,Centos6.5安装firefox
- linux无盘工作站互不干扰,Linux环境下无盘工作站的架设和实现二
- python文件路径过滤器_SUMO入门(八) - 从Python引入TraCI接口
- python 线性规划问题_一学高数,线代就头疼?让python帮你解决(内含教程)
- 自动化构建部署之Jenkins安装【Docker容器】
- react更改路由入参_JavaScript基础教程 react router路由传参
- 信息安全工程师笔记-综合知识冲刺(四)