首页 > 试题广场 >

链表相加(二)

[编程题]链表相加(二)
  • 热度指数:216421 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。
给定两个这种链表,请生成代表两个整数相加值的结果链表。
数据范围:,链表任意值
要求:空间复杂度 ,时间复杂度

例如:链表 1 为 9->3->7,链表 2 为 6->3,最后生成新的结果链表为 1->0->0->0。

示例1

输入

[9,3,7],[6,3]

输出

{1,0,0,0}

说明

如题面解释     
示例2

输入

[0],[6,3]

输出

{6,3}

备注:


说明:本题目包含复杂数据结构ListNode,点此查看相关信息
头像 LaN666
发表于 2021-07-18 15:46:55
精华题解 题目思路:假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。我们知道题目已经限定了每个节点的值都不为负数了,所以我们就可以不考虑符号的问题了,那么就很简单了。我们先看一下题目给的例子: 例如:链表 1 为 9->3->7,链表 2 为 6->3,最后 展开全文
头像 牛客题解官
发表于 2022-04-22 11:32:01
精华题解 题目主要信息: 给定两个链表,每个链表中节点值都是0-9,每个链表就可以表示一个数字 将两个链表表示的数字相加,结果也存在链表中 举一反三: 学习完本题的思路你可以解决如下题目: BM1.反转链表 BM86.大数加法 方法:反转链表法(推荐使用) 思路: 既然链表每个节点表示数字的每一位,那相加 展开全文
头像 ajaj
发表于 2021-07-14 13:29:56
精华题解 思路: 从题中给出的有效信息: 一个链表代表一个整数,返回多个链表的相加结果 故此顺位迭代就可以了,链表的问题大多借助栈和队列的结构思想 方法一: 具体做法:申请两个栈空间和一个标记位,然后将两个栈中内容依次相加,将结果倒插入新节点中。 具体过程如下图所示: import java.util. 展开全文
头像 Eagle-Q
发表于 2020-09-02 21:30:00
/** struct ListNode { int val; struct ListNode *next; }; / class Solution {public: /* * * @param head1 ListNode类 * @param head2 ListN 展开全文
头像 小洋芋热爱NLP
发表于 2021-03-04 19:04:01
- 1、题目描述: - 2、题目链接: https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b?tpId=188&tqId=37538&rp=1&ru=%2Factivity%2Foj&qr 展开全文
头像 宫水三叶的刷题日记
发表于 2021-08-27 14:01:58
朴素解法(哨兵技巧) 这是道模拟题,模拟人工竖式做加法的过程: 从最低位至最高位,逐位相加,如果和大于等于 10,则保留个位数字,同时向前一位进 1 如果最高位有进位,则需在最前面补 1。 做有关链表的题目,有个常用技巧:添加一个虚拟头结点(哨兵),帮助简化边界情况的判断。 一些细节:由于给定的两 展开全文
头像 shredderzwj
发表于 2021-11-30 14:26:54
# class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @para 展开全文
头像 青鸟&飞鱼
发表于 2021-10-07 10:13:10
程序分为两个部分: 1. 翻转链表 2. 进位相加 取值(由于当指针为空不允许value域作加减运算,且要依据空指针作为结束循环条件,所以这么用) 进位加法 赋值(分配链接新节点) 最麻烦的就是指针越界问题,希望随着经验增加,可以快速解决吧。 纠结变量用的有点多,C语言编写,寻求改进办法,请 展开全文
头像 小洋芋热爱NLP
发表于 2021-03-04 19:58:34
- 1、题目描述: - 2、题目链接: https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b?tpId=188&tqId=37538&rp=1&ru=%2Factivity%2Foj&qr 展开全文
头像 子夜降晴空
发表于 2021-03-12 15:39:55
static const auto io_sync_off=[]() { //turn off sync std::ios::sync_with_stdio(false); //untie in/out stream; std::cin.tie(nullptr); 展开全文
头像 小时光s3o
发表于 2021-08-03 12:53:37
题解 | #两个链表生成相加链表#C++ 解法,链表相加(需翻转) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNod 展开全文
头像 Grimm、
发表于 2022-10-16 11:47:41
反转链表 package main import . "nc_tools" /*  * type ListNode struct{  *   Val int  *&n 展开全文
头像 太阳hxy
发表于 2023-07-12 14:27:32
链表相加(二) 图解: 链接 思路: 1.将原先的两个表进行反转,获得新的表头,使得低位对齐 2.将两个表对应节点相加 3.将最后的相加的结果的表再进行一次反转 代码 import java.util.*; /* * public class ListNode { * int 展开全文