CodeTop100 Day9

25、字符串相加

意思是‘12’+‘13’=‘25’,但是要考虑进位问题

所以倒着遍历两个字符串,双指针枚举字符串,从右往前枚举,每次都记录一下该位置的和,以及上一位的进位值,然后创建字符串,在该位添加sum%10,记录进位sum/10,最后创建字符串反转然后转为String就ok

26、相交链表

a1->a2->c1    b1->b2->b3->c1

如何找到相交的链表呢,两个链表同时遍历,a链表遍历完就遍历b链表,b链表遍历完就遍历a链表,如果存在相交节点就退出循环,同时遇到null也会退出

为什么两者都走各自的路会同时到达交点呢?假设两者有公共交点c,a链表非公共位a-c,b链表为b-c,a走到 a+b-c时候第二次遇到公共交点,b第二次遇到公共交点为,b+a-c,两者走过的距离都为a+b-c,所以也就能同时到达。

27、重排链表

最主要是要找到规律,先找到链表的中点,然后将后半段反转,然后交替连接

所以实现三个API即可,找中点使用快慢指针就可以,反转链表写了很多次了,交替连接也比较简单,设置暂存节点然后连接即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值