
牛客网刷题
显哥无敌
南京赵显
展开
-
牛客 4 合并两个有序的列表
这题的边界条件很简单,单个链表遍历到了最后,会达到None状态。如果两者都不为空,则直接返回小的节点。那么就把那个剩下的没空的链表给接上。先写边界条件,然后再写递归的条件。简单题,没啥好说的,直接上递归。原创 2022-10-17 10:54:51 · 417 阅读 · 1 评论 -
牛客网 6 判断链表中是否有环
这题其实源自于相遇问题,小学数学里何时超过一圈的问题大家都遇到过有木有?原创 2022-10-14 14:54:49 · 362 阅读 · 0 评论 -
牛客网 18 二维数组中的查找
这一题其实也没啥好说的,就是一个走迷宫的问题。1.从左下开始走,对于上方元素比他小,对于右方元素比他大,官网经典思路。原创 2022-10-14 12:57:35 · 350 阅读 · 0 评论 -
牛客网刷题 3 链表中的节点每k个一组翻转
head指针的作用只有一个,递归完成后需要接链,由于有了局部反转,最后接起来的是head.next。这题的主要思想是递归,用到了四个指针,head,tail,pre,curr。tail指针用于确定下一次K个数组队头的位置和内部循环条件的确定。pre,curr依旧用于局部反转。原创 2022-10-13 15:55:12 · 206 阅读 · 0 评论 -
牛客刷题 2 链表内指定区间反转
1.为什么要插入头节点:因为在第一个位置进行反转时,后续要用到pre->next,none类型是没有next的,所以得加头节点,上一题只动了current节点,没有用到pre节点的next,所以不要加。以向右为先序,依次进行操作,如果动到Listnode的NEXT了,如果后续还需要这个结果(一定需要),进行寄存,总之你要想一下动了之后整个链有没有断掉。注意,这里要与两个节点的next进行修改,以完成拼接。(1)将要反转部分的第一个节点始终移动到队头,即每次往前挪动一个位置。要将指定区间内的链表整体反过来。原创 2022-10-13 14:35:29 · 242 阅读 · 0 评论 -
牛客 1 反转列表
秋招找到现在0offer,可能确实不是啥做安全的料。当前节点的next依次指向之前节点,难得是下标更新。pre代表之前节点,curr代表当前节点。老老实实刷题背面经,春招找java吧。牛客第一题,反转一个列表。原创 2022-10-13 12:51:33 · 223 阅读 · 0 评论