【LeetCode】1171. 从链表中删去总和值为零的连续节点、面试题 02.05. 链表求和
创始人
2024-06-03 15:00:01
0

 作者:小卢

专栏:《Leetcode》

喜欢的话:世间因为少年的挺身而出,而更加瑰丽。                                  ——《人民日报》


目录

 1171. 从链表中删去总和值为零的连续节点

 面试题 02.05. 链表求和


 1171. 从链表中删去总和值为零的连续节点

 1171. 从链表中删去总和值为零的连续节点

题目描述:

给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。

删除完毕后,请你返回最终结果链表的头节点。

你可以返回任何满足题目要求的答案。

(注意,下面示例中的所有序列,都是对 ListNode 对象序列化的表示。)

 示例:

代码:

struct ListNode* removeZeroSumSublists(struct ListNode* head){struct ListNode*newhead=(struct ListNode*)malloc(sizeof(struct ListNode));newhead->next=head;struct ListNode*cur1=newhead;struct ListNode*cur2=head;while(cur1){int num=0;cur2=cur1->next;while(cur2){num-=cur2->val;if(num==0){cur1->next=cur2->next;}cur2=cur2->next;}cur1=cur1->next;}return newhead->next;
}

 面试题 02.05. 链表求和

面试题 02.05. 链表求和

题目描述:

给定两个用链表表示的整数,每个节点包含一个数位。

这些数位是反向存放的,也就是个位排在链表首部。

编写函数对这两个整数求和,并用链表形式返回结果。

示例:

思路:

暴力解法是不可以的,两个链表相加的值会大于10的18次方,大于longlong的数据范围

我们可以每位相加,然后计入它的进位值,放到一个新的链表中。

代码: 

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){struct ListNode*cur1=l1;struct ListNode*cur2=l2;struct ListNode*newhead=NULL;struct ListNode*tail=NULL;int carry=0;//进位值while(cur1||cur2){int num1=0;int num2=0;if(cur1)num1=cur1->val;if(cur2)num2=cur2->val;int sum=num1+num2+carry;//创建一个新的链表if(newhead){tail->next=(struct ListNode*)malloc(sizeof(struct ListNode));tail=tail->next;tail->val=sum%10;tail->next=NULL;}else{newhead=tail=(struct ListNode*)malloc(sizeof(struct ListNode));tail->val=sum%10;tail->next=NULL;}carry=sum/10;if(cur1)cur1=cur1->next;if(cur2)cur2=cur2->next;}if(carry>0)//最高位可能大于0,比如:10000000{tail->next=(struct ListNode*)malloc(sizeof(struct ListNode));tail=tail->next;tail->val=carry;tail->next=NULL;}return newhead;
}

相关内容

热门资讯

苹果如何虚拟安卓系统,苹果设备... 你有没有想过,苹果的iOS系统竟然能模拟安卓系统?听起来是不是有点不可思议?别急,今天就来带你一探究...
安卓系统电池电量校准,揭秘电量... 手机电池电量总是不准确,是不是你也觉得安卓系统的电量显示有点让人头疼呢?别急,今天就来给你详细解析一...
安卓系统时间设置不了,无法生成... 最近是不是发现你的安卓手机时间设置不了了?别急,别急,让我来给你详细解析一下这个问题,让你轻松解决烦...
安卓手表分为什么系统 你有没有发现,现在戴手表的人越来越多了呢?尤其是安卓手表,简直成了潮流的象征。但是,你知道吗?安卓手...
安卓监控系统通知软件,通知软件... 你有没有发现,手机里突然弹出一个通知,让你不禁好奇它是从哪里冒出来的?这可不是什么普通的弹窗,而是安...
安卓系统IPerf只能5线程,... 你有没有遇到过这样的情况:在使用安卓系统的时候,打开IPerf工具进行网络测试,结果发现只能同时使用...
安卓系统英语如何写,An Ov... 你有没有想过,当你想要向外国朋友介绍你的安卓手机时,该如何用英语表达呢?别急,今天就来给你详细解析如...
安卓系统手机铃声怎么下,轻松生... 你有没有发现,手机铃声可是我们日常生活中的小确幸呢!有时候,一个独特的铃声能瞬间让你心情大好,甚至还...
没电脑怎么退回安卓系统 你有没有遇到过这种情况:手机里的安卓系统突然变得不按套路出牌,各种卡顿、崩溃,让你抓狂不已?别急,今...
安卓电视安装系统下载,安卓电视... 亲爱的安卓电视用户们,你是否曾为电视上那单调的系统界面感到厌倦?或者,你是否想要给你的电视装上一些新...
安卓平板降级系统好吗吗,利弊分... 你有没有想过,你的安卓平板电脑是不是也该来个“时光倒流”呢?没错,就是降级系统!今天,我们就来聊聊这...
小米5怎么切换安卓系统 你手里的小米5是不是已经陪你走过了不少风风雨雨?是不是有时候想换个口味,体验一下安卓系统的不同魅力?...
为什么安卓系统耗电太快,原因与... 手机电量总是不够用,是不是你也经常为安卓系统的耗电问题头疼呢?今天,就让我带你一探究竟,揭开安卓系统...
移动盒子是安卓系统吗,安卓系统... 你有没有听说过移动盒子这种神奇的小玩意儿?它最近可是火得一塌糊涂呢!不过,说到它的操作系统,你是不是...
安卓手机u盘启动系统,安卓手机... 你有没有想过,如果你的安卓手机突然“罢工”了,你会怎么办呢?别急,今天就来给你揭秘一个神奇的小技巧—...
安卓跳转到系统相机,Andro... 你有没有遇到过这种情况:在使用安卓手机的时候,突然想拍个美美的照片,结果手指一点,竟然直接跳到了系统...
安卓系统在哪里买专辑 你有没有想过,手机里那熟悉的安卓系统,竟然也能帮你买到心仪的专辑呢?没错,就是那个让你随时随地畅享音...
布小星安卓系统下载,轻松体验智... 你有没有听说最近布小星安卓系统下载成了热门话题?没错,就是那个让无数手机用户为之疯狂的系统!今天,我...
安卓系统怎么语音唤醒,安卓系统... 亲爱的手机控们,你是否曾想过,只需一声令下,你的安卓手机就能立刻从沉睡中苏醒,听从你的指挥?没错,这...
保卫萝卜苹果系统和安卓,苹果与... 你知道吗?在这个数字化时代,手机可是我们生活中不可或缺的好伙伴。但是,你知道吗?你的手机里那些可爱的...