两个链表生成相加链表
两个链表生成相加链表
题目
思路
- 先将两个链表分别反转
- 从头部开始相加(注意进位及一个链表遍历完的情况)
- 再将相加后的链表反转
class ListNode:def __init__(self, x):self.val = xself.next = None#
#
# @param head1 ListNode类
# @param head2 ListNode类
# @return ListNode类
#
def reverse(p):pre = ptail = Nonewhile p:pre = pre.nextp.next = tailtail = pp = prereturn tail
def one_list(p1,pr,add):while p1:r = p1.val + addif r >= 10:add = 1r = r - 10else:add = 0pr.next = ListNode(r)pr = pr.nextp1 = p1.nextif add:pr.next = ListNode(add)pr = pr.nextreturn prclass Solution:def addInList(self , head1 , head2 ):if not head1: return head2if not head2:return head1p1 = reverse(head1)p2 = reverse(head2)pr = ListNode(None)ph = pradd = 0while p1 and p2:r = p1.val + p2.val + addif r >= 10:add = 1r = r - 10else:add = 0pr.next = ListNode(r)pr = pr.nextp1 = p1.nextp2 = p2.nextif p1:pr = one_list(p1,pr,add)if p2:pr = one_list(p2,pr,add)p = ph.nextreturn reverse(p)
两个链表生成相加链表相关推荐
- 牛客题霸 [两个链表生成相加链表] C++题解/答案
牛客题霸 [两个链表生成相加链表] C++题解/答案 题目描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. ...
- 链表问题10——两个单链表生成相加链表(方法二)
题目 假设链表中每一个节点的值都在0-9之间,链表整体代表一个整数. 给定两个这种链表的头节点,请生成代表两个整数相加值的结果链表. 链表1 链表2 生成的新链表 9->3->7 6-&g ...
- 链表问题10——两个单链表生成相加链表
题目 假设链表中每一个节点的值都在0-9之间,链表整体代表一个整数. 给定两个这种链表的头节点,请生成代表两个整数相加值的结果链表. 链表1 链表2 生成的新链表 9->3->7 6-&g ...
- 两个单链表生成相加链表
题目: 假设链表中每一个节点的值都在0~9之间,那么链表整体就可以代表一个整数. 例如:9 -> 3 -> 7,可以代表整数937. 给定两个这种链表的头节点head1和head2,请 ...
- 常考数据结构与算法:两个链表生成相加链表
题目描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. 例如:链表 1 为 9->3->7,链表 ...
- 习题 9.10 已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。
C程序设计(第四版) 谭浩强 习题9.10 个人设计 习题 9.10 已有a,b两个链表,每个链表中的结点包括学号.成绩.要求把两个链表合并,按学号升序排列. 代码块: #include <st ...
- 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...
- 数据结构 - 如何判断两个无环单链表是否相交;如果相交,给出相交的第一个结点
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 比较好的 ...
- Algorithm:C++语言实现之链表相关算法(链表相加、链表的部分翻转、链表划分、链表去重、重复元素全部删除)
Algorithm:C++语言实现之链表相关算法(链表相加.链表的部分翻转.链表划分.链表去重.重复元素全部删除) 目录 一.链表 1.1.链表相加 1.2.链表相加 2.1.链表的部分翻转 2.2. ...
最新文章
- CAS、原子操作类的应用与浅析及Java8对其的优化
- 90sec mysql_dedecms被挂马 /plus/90sec.php解决方法
- MySQL sql_model问题研究
- 134_Power BI Report Server之某消费品运营数据监控
- 一文尽览 ECCV 2020 旷视研究院15篇论文
- SSH 远程连接服务慢的解决方案
- mysql创建bit类型报错_MySQL入门(三)——MySQL数据类型
- 若依二次开发添加 select 下拉框 变大 和 有空格存在
- mysql实现主从复制的方式_mysql实现主从复制、读写分离的配置方法(二)
- 已知p是一个指向类a的数据成员m的指针_C++ this指针的理解和作用
- JQuery控制div外点击隐藏,div内点击不会隐藏
- saas模式的外贸建站比较
- 计算机应用与基础app,手机APP支持下《计算机应用基础》课程探究性学习活动设计与实验研究...
- Grain Timers and Reminders
- 股票入门浅学20210721
- linux系统中mywho命令,linux查看在线用户 who命令参数及用法
- 海淘时代全面来临,海淘转运公司为何风生水起?
- mssql查询分页存储过程SpPageOrder/proc_wuhan_getpages )
- HomeBrew安装软件慢的简单有效解决方法
- 【文本生成】评价指标:事实一致性Evaluating the Factual Consistency of Abstractive Text Summarization
热门文章
- java fast math,Java FastMath.ceil方法代碼示例
- oracle 01405 提取的值为null,ORA-01405: 提取的列值为 NULL--报错原因及解决方案
- java poll()是什么方法,JAVA学习中的一点小发现:LinkedList中.poll()方法在输出时使用应注意的小点...
- 英语语法---谓语详解
- TensorFlow 笔记2--MNIST手写数字分类
- 嵌入式笔录(2)-电阻串联与并联
- AI理论知识基础(22)-逻辑斯蒂映射-伪随机数
- AI理论知识整理(12)-向量子空间
- 趣学python3(6)-条件语句
- 【万字长文详解】Python库collections,让你击败99%的Pythoner