牛客83475892号
牛客83475892号
全部文章
分类
归档
标签
去牛客网
登录
/
注册
牛客83475892号的博客
全部文章
(共7篇)
题解 | #合并两个排序的链表#
这个递归还是比较清晰的。这个题递归结束的标志非常清晰,返回没有抵达NULL的那一条链表的剩余链表即可;不断传入可以推进那一条链表的next节点实现递归的推进。 /** * struct ListNode { * int val; * struct ListNode *next; * }; ...
2023-10-09
0
331
题解 | #合并两个排序的链表#
基本上官方的思路了,一开始没用这个方法是觉得直接接到新的链表里,后面会拖着一串,但这个全部的节点都会包括到,其实也没什么问题。另外感觉还是尽量减少特殊情况的讨论,比较费调试时间。只在NULL节点无法再判断val了特殊算一下就OK了。 /** * struct ListNode { * int v...
2023-10-09
0
241
题解 | #合并两个排序的链表#
以第一个链表为基础,将第二个链表的节点插在合适的位置,但两个链表的地位不是平等的,在末尾的时候需要特殊处理。 /** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * 代码中的类名、方法名、参数名已...
2023-10-09
0
244
题解 | #链表中的节点每k个一组翻转#
跟上一道区间反转链表很相似,但那是这个起始位置是固定的,所以这部分处理会更简单一些;思路就是循环k-1次,翻转一段链表,下一次从上一段链表的末尾开始,再来一次反转,计算一共需要反转count/k次。 /** * struct ListNode { * int val; * struct Lis...
2023-10-08
0
210
题解 | #链表内指定区间反转#
虽然和上一道题都有链表反转,但是用递归的思路很难做,用正向好处理一些,原因是整个链表反转不用考虑前后节点,末尾就是NULL,但是区间反转需要计数,如果是抵达某一个元素来确定区间,那感觉可以用递归的思路;正向做就是注意指针迭代的先后顺序,不要把指针丢了,该写一个临时变量temp存储都可以大胆写;注意这...
2023-10-08
0
248
题解 | #反转链表#
运用递归的方法。需要从后向前处理链表的题都可以通过递归调用自己并传入head->next去处理下一个节点,再一步一步从后往前。递归的返回值返回新链表的表头,就可以顺利得到新链表。 /** * struct ListNode { * int val; * struct ListNode *...
2023-10-08
0
254
题解 | #反转链表#
非常笨的方法,算上本身,三个指针来回倒腾,因为用了三个指针,特例一大堆。 /** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的...
2023-10-08
0
274