📌  相关文章
📜  添加由链表表示的两个数字的 Javascript 程序 - 集 1

📅  最后修改于: 2022-05-13 01:57:44.996000             🧑  作者: Mango

添加由链表表示的两个数字的 Javascript 程序 - 集 1

给定由两个列表表示的两个数字,编写一个返回和列表的函数。和列表是两个输入数字相加的列表表示。

示例

Input: List1: 5->6->3 // represents number 563 List2: 8->4->2 // represents number 842 Output: Resultant list: 1->4->0->5 // represents number 1405 Explanation: 563 + 842 = 1405

Input: List1: 7->5->9->4->6 // represents number 75946List2: 8->4 // represents number 84Output: Resultant list: 7->6->0->3->0// represents number 76030Explanation: 75946+84=76030

方法:遍历两个列表,并一个接一个地选择两个列表的节点并添加值。如果总和大于 10,则进位为 1 并减少总和。如果一个列表的元素多于另一个,则将此列表的其余值视为 0。

步骤是:

  1. 从头到尾遍历两个链表
  2. 从各自的链表中添加两个数字。
  3. 如果其中一个列表已到达末尾,则将 0 作为其数字。
  4. 继续它直到列表的末尾。
  5. 如果两位数之和大于 9,则设置进位为 1,当前位数为sum % 10

下面是这种方法的实现。

Javascript


输出:

First List is 7 5 9 4 6 
Second List is 8 4 
Resultant list is 5 0 0 5 6 

复杂性分析:

  • 时间复杂度: O(m + n),其中 m 和 n 分别是第一个和第二个列表中的节点数。
    列表只需要遍历一次。
  • 空间复杂度: O(m + n)。
    需要一个临时链表来存储输出编号

相关文章:用链表表示的两个数相加 |设置 2

请参考完整的文章添加链表表示的两个数字 |设置 1 了解更多详情!