ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

力扣热题100_2

2022-05-19 02:00:07  阅读:136  来源: 互联网

标签:链表 结点 相加 next 力扣 节点 100 一位 热题


两数相加,数以链表的形式存储,每隔节点存一位,还蛮有意思的,不过真的很容易走进误区哈哈

刚开始的想法满单纯的,把两个数提出来然后一位一位的写进去不就完了,一测试才发现,原来最大支持一百位啊,10的一百次方可是没法直接算了,我也明白了为什么要已这种形式存储了,既然这种方式不行,只能试着让每一位相加求结果了。

首先要先分好不同的情况,第一种是两个数都只有一位,没有后继节点的情况,第二种其中一个链表要更长,第三种两个一样长。如果其中一个链表更长的话,相加到短链表长度的位置,直接把next节点设置为更长链表的后续结点就好了,其实仔细想想也不难。新建一个表也是很麻烦的,不如直接用较长的那个表这样不仅容易还节省空间。

不过写下来后发现这样分情况写下来没有那么容易,整整花了70多行,判定条件写的也比较复杂。接下来需要深入研究一下大佬的代码。

大佬们果然是不一样啊 利用?:语句来判定结点是否为空,再加一个简单的判定条件,根据next是否为空来判断用不用进行l1 = l1.next;, 我一直盲目的前往下一个结点导致我需要在嵌套很多很多if以免将节点赋上null值。

总而言之今天收获还是蛮多的:判断条件赋值的话可以直接使用?:;在进行 l = l.next这样赋值的时候一定要加判断条件,避免出现值不存在之类的错误。

问题:某一个点我在赋过值后想把这一个结点变为null好像是不行的?值是空的结点赋不上值?总而言之一直在这个问题上纠结。下次自己再实验实验。

 

标签:链表,结点,相加,next,力扣,节点,100,一位,热题
来源: https://www.cnblogs.com/gzwy/p/16287036.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有