牛客566659818号
牛客566659818号
全部文章
分类
归档
标签
去牛客网
登录
/
注册
牛客566659818号的博客
全部文章
(共4篇)
题解 | #删除链表的倒数第n个节点#
思路:本题先查找到倒数的第n个节点,用slow存储这个点的位置,相关解发参考算法上一道题,找到后用一个变量tail存储这个n点的前一位,再将tail的next指向改变为slow的next,注意有内存泄漏所以要加上n是不是头结点的位置,如果是则改变头的指向。 struct ListNode* remo...
双指针
C
链表
2022-08-04
0
316
题解 | #链表中倒数最后k个结点#
此题思路快慢指针,先用快指针走k步,如果k的大小没有超过链表大小,则快慢指针同时移动,这样两者始终保持k距离,当快指向空时,返回慢指针即为倒数的k个结点 struct ListNode* FindKthToTail(struct ListNode* pHead, int k ) { &...
双指针
链表
C
2022-08-03
5
260
题解 | #链表中环的入口结点#
本题理解实现思路后,代码实现比较容易,其实现式子为2(a+b)=a+(b+c)n (n为闭环的圈数,这个式子就是快点的等式,左边是慢节点两倍,右边就是快点走的路), 可以得到,从相遇点到闭环起始点距离c与a是相等的,所以再用快指向头结点,从新遍历并将速度改为1步,当两点再次相遇时,那个点就是闭...
链表
C
双指针
2022-08-03
0
328
题解 | #判断链表中是否有环#
本题用快慢指针,来解题,思路很简单一个指针指向他下一个,另一个指向他的下下个,两者如果是在环中,快指针迟早会追上慢指针,这时两者相等返回true,如果不为环则快指针会走到空返回false。 小白刚刚练习代码,还有很多可以优化的地方,在这里主要是提供自己的思路。注意快慢只能差1,如果快为3格一次...
C
链表
双指针
2022-08-02
0
316