Advertisement

数据结构系列探讨链表合并问题——两个链表相加生成新链表

阅读量:

两个链表生成相加链表

题目描述

若链表中每个节点所存储的数值范围限定在 0 至 9 之间,则整个链表可以被视作一个整数的表示形式。
现提供两个具有此类特征的链表,请构造一个新的链表,用于表示这两个整数相加后的结果。
例如:链表1为9→3→7,链表2为6→3,最终生成的新链表应为1→0→0→0。
示例1
输入

[9,3,7],[6,3]
返回值

{1,0,0,0}

解题思路分析

我的笨办法

  • 采用三个栈来实现两个链表的相加操作,其中第一个栈用于存储第一个链表从头节点到尾节点的所有元素,第二个栈则用于存储第二个链表从头节点到尾节点的所有元素。由于在计算过程中需要处理进位,因此在两个栈完成数据存储后,再依次取出元素进行相加,并将进位信息保留下来,
  • 进位信息可以随着栈元素的弹出传递至前一个节点,在每次取出前两个栈中的数值后,将其与当前的进位值相加,所得结果用于创建一个新的ListNo

全部评论 (0)

还没有任何评论哟~