两个链表生成相加链表

题目

思路

  1. 先将两个链表分别反转
  2. 从头部开始相加(注意进位及一个链表遍历完的情况)
  3. 再将相加后的链表反转
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)

两个链表生成相加链表相关推荐

  1. 牛客题霸 [两个链表生成相加链表] C++题解/答案

    牛客题霸 [两个链表生成相加链表] C++题解/答案 题目描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. ...

  2. 链表问题10——两个单链表生成相加链表(方法二)

    题目 假设链表中每一个节点的值都在0-9之间,链表整体代表一个整数. 给定两个这种链表的头节点,请生成代表两个整数相加值的结果链表. 链表1 链表2 生成的新链表 9->3->7 6-&g ...

  3. 链表问题10——两个单链表生成相加链表

    题目 假设链表中每一个节点的值都在0-9之间,链表整体代表一个整数. 给定两个这种链表的头节点,请生成代表两个整数相加值的结果链表. 链表1 链表2 生成的新链表 9->3->7 6-&g ...

  4. 两个单链表生成相加链表

    题目: 假设链表中每一个节点的值都在0~9之间,那么链表整体就可以代表一个整数.  例如:9 -> 3 -> 7,可以代表整数937.  给定两个这种链表的头节点head1和head2,请 ...

  5. 常考数据结构与算法:两个链表生成相加链表

    题目描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. 例如:链表 1 为 9->3->7,链表 ...

  6. 习题 9.10 已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。

    C程序设计(第四版) 谭浩强 习题9.10 个人设计 习题 9.10 已有a,b两个链表,每个链表中的结点包括学号.成绩.要求把两个链表合并,按学号升序排列. 代码块: #include <st ...

  7. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...

  8. 数据结构 - 如何判断两个无环单链表是否相交;如果相交,给出相交的第一个结点

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 比较好的 ...

  9. Algorithm:C++语言实现之链表相关算法(链表相加、链表的部分翻转、链表划分、链表去重、重复元素全部删除)

    Algorithm:C++语言实现之链表相关算法(链表相加.链表的部分翻转.链表划分.链表去重.重复元素全部删除) 目录 一.链表 1.1.链表相加 1.2.链表相加 2.1.链表的部分翻转 2.2. ...

最新文章

  1. CAS、原子操作类的应用与浅析及Java8对其的优化
  2. 90sec mysql_dedecms被挂马 /plus/90sec.php解决方法
  3. MySQL sql_model问题研究
  4. 134_Power BI Report Server之某消费品运营数据监控
  5. 一文尽览 ECCV 2020 旷视研究院15篇论文
  6. SSH 远程连接服务慢的解决方案
  7. mysql创建bit类型报错_MySQL入门(三)——MySQL数据类型
  8. 若依二次开发添加 select 下拉框 变大 和 有空格存在
  9. mysql实现主从复制的方式_mysql实现主从复制、读写分离的配置方法(二)
  10. 已知p是一个指向类a的数据成员m的指针_C++ this指针的理解和作用
  11. JQuery控制div外点击隐藏,div内点击不会隐藏
  12. saas模式的外贸建站比较
  13. 计算机应用与基础app,手机APP支持下《计算机应用基础》课程探究性学习活动设计与实验研究...
  14. Grain Timers and Reminders
  15. 股票入门浅学20210721
  16. linux系统中mywho命令,linux查看在线用户 who命令参数及用法
  17. 海淘时代全面来临,海淘转运公司为何风生水起?
  18. mssql查询分页存储过程SpPageOrder/proc_wuhan_getpages )
  19. HomeBrew安装软件慢的简单有效解决方法
  20. 【文本生成】评价指标:事实一致性Evaluating the Factual Consistency of Abstractive Text Summarization

热门文章

  1. java fast math,Java FastMath.ceil方法代碼示例
  2. oracle 01405 提取的值为null,ORA-01405: 提取的列值为 NULL--报错原因及解决方案
  3. java poll()是什么方法,JAVA学习中的一点小发现:LinkedList中.poll()方法在输出时使用应注意的小点...
  4. 英语语法---谓语详解
  5. TensorFlow 笔记2--MNIST手写数字分类
  6. 嵌入式笔录(2)-电阻串联与并联
  7. AI理论知识基础(22)-逻辑斯蒂映射-伪随机数
  8. AI理论知识整理(12)-向量子空间
  9. 趣学python3(6)-条件语句
  10. 【万字长文详解】Python库collections,让你击败99%的Pythoner