欢迎光临
我们一直在努力

28届Leetcode Day02

第二题:两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

我第一个想到的是数组,因为感觉比较熟悉,把每一次的输入都存到数组里,然后0位就是个位,1位就是十位这样…然后把它们加起来,再放到链表里输出。于是开始尝试:

其中有两点遇到困难:在gemini帮助下理解,以下记录

1.两个数组同序号块加法的计算…

2.数组变回链表…

我们先强行用 malloc 凭空捏造一个“假头”(Dummy Node),随便给它塞个值(比如 0)。
然后我们请一个“施工工人”叫 curr(当前指针),让他站在这个假头的位置。
之后我们算出来的新数字,就让 curr 挂在自己身后(curr->next),然后 curr 往前走一步。等所有的活都干完后,假头身后的那一串,就是我们要的真正答案!

但是推荐的解法是用链表,数据结构课学了,但是忘记加上掌握不是很熟练,温习一下并应用:

思路几乎完全一致,就是数组和链表的差别。链表写得还不是很熟练,这一方面需要加强。

 

赞(0)
未经允许不得转载:171主机测评 » 28届Leetcode Day02
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址