牛客566659818号
牛客566659818号
全部文章
分类
归档
标签
去牛客网
登录
/
注册
牛客566659818号的博客
全部文章
(共16篇)
题解 | #链表中环的入口结点#
本题理解实现思路后,代码实现比较容易,其实现式子为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
题解 | #合并两个排序的链表#
该题借用了评论区大佬的思路,(原先是准备在原链表中直接进行插入排序的,结果代码写到80多行,结果还不正确,于是采用了开辟一个新节点的思路)。 思路是,先将两个链表从第一位开始比较,小的就插入在空节点的后面,形成新的链表,然后依次排序,这里面有一个注意点是判断其中一个链表为空的时候结束循环,又因...
链表
C
2022-07-29
0
360
题解 | #链表中的节点每k个一组翻转#
纯c编写,没有递归与调用库,只学了c的可以参考借鉴。 本题思路:先设置一个结点从哨兵位开始进行k的判断如果这个结点能够遍历k遍,则保留该结点(此时该结点的位置为没翻转前第一遍的最后一个结点,在设置一个nxt结点接取这个结点的next(nxt此时为下一段k的第一个元素)), 如果不能遍历k...
链表
C
2022-07-28
2
359
题解 | #反转链表#
本体思路是,创建新结点使得原链表中的结点头插于新结点从而使得实现倒序,再返回创建的新结点,因为那个时候新结点就是新链表的头结点 struct ListNode* ReverseList(struct ListNode* pHead ) { struct ListN...
链表
C
2022-07-27
1
295
题解 | #链表内指定区间反转#
本题思路是先定义区间时,找到区间的前一个结点并记录,然后在需要翻转的区间中,执行翻转程序, 程序思路:逐步翻转,一次翻转两个指针的指向,翻转的次数是n-m次,可以画图理解 (提示:本代码可以选择是否加上对于NULL的判断,防止访问NULL的next,实际上n,m的大小应该就会限制这种情况,看个人喜好...
C
链表
2022-07-26
3
476
首页
上一页
1
2
下一页
末页