于1111
于1111
全部文章
分类
题解(53)
归档
标签
去牛客网
登录
/
注册
于1111的博客
全部文章
(共53篇)
一个从相遇(有环)时出发,另一个从头结点出发,再次相遇就是入口
先快慢指针,快慢指针相遇则说明有环。 有环后,一个从相遇的地方出发,另一个从head出发,再次相遇就是入口! 大佬的解题:https://www.nowcoder.com/questionTerminal/6e630519bf86480296d0f1c868d425ad public Lis...
链表
2020-09-20
1
706
LRU每次的操作都会将节点放入链表首部,双向链表的头插法与删除
核心点:LRU的每次操作(get,put)都会将节点放入链表首部。需要自定义双向链表。 双向链表需要提供addToHead,moveToHead,removeNode,removeLast的接口。这些接口只需要熟悉双向链的删除与头插法就能写出来。 链表插入删除过程的简化---虚拟节点,dummyHe...
链表
哈希表
2020-09-19
4
1222
BST考察中序遍历,完全二叉树考察层次遍历第一个空节点之后节点的情况
BST中序遍历有有序的,这是充要条件。---保存前一个节点:成员变量pre private TreeNode pre; public boolean isBst(TreeNode root){ if(root==null){ return tr...
二叉树
2020-09-13
0
933
全程都是归并排序,只是注意merge的返回值
merge的返回值,当left>=right,则说明全都有序,此时只需要返回list.get(low)即可。 /** * 合并k个已排序的链表并将其作为一个已排序的链表返回。 * 分析并描述其复杂度。---熟悉mergeSort,返回值不同!!当low>=hi...
归并排序
2020-09-13
14
1502
全称牢记左右子树可能为负数
最大值是记录和,可能为负值。 但maxsum的返回值一定为尽量避免负数。 private int maxsum; public int maxPathSum (TreeNode root) { if (root == null) return ...
二叉树
2020-09-13
0
723
链表有环判断:快慢指针相遇
快指针每次两步,慢指针每次一步,有环则必相遇。 大佬的的图解。来源:https://leetcode-cn.com/problems/linked-list-cycle/solution/yi-wen-gao-ding-chang-jian-de-lian-biao-wen-ti-h-2/ 终止条...
链表
2020-09-13
4
1120
使用大小王作为修补不符合要求的工具
排序,然后求出大小王的个数,即0的个数。while(nums[count]==0) count++; 记录相邻元素的差异,然后用coun去修改:count-=(diff-1),符合要求的是diff=1. 当diff=0或者count<0(表示大小王已经用完!) /** * ...
排序
2020-09-12
0
544
单词判断,空格跳过,最后一个不添加,空字符直接返回
单词判断:while(i>=0&&str.charAt(i)!=' ') i--; 空格跳过 while(i>=0&&str.charAt(i)==' ') i--; 最后一个不添加 if(i!=0) sb.append(strings[i]); 空白字符...
字符串
2020-09-12
0
567
先翻转部分,后翻转整体。
先翻转部分,后翻转整体。注意上下界限。n-1 翻转过程:双指针。 图示如下。来源:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/solution/yuan-di-ju-bu-fan-zhuan-zheng-ti-fa...
字符串
双指针
2020-09-12
0
614
两数之和,当找到一个后,需要break!
双指针,因为两个数,所以终止条件为while(left<right) /** * 输入一个递增排序的数组和一个数字S,在数组中查找两个数, * 使得他们的和正好是S, * 如果有多对数字的和等于S,输出两个数的乘积最小的。 * @param a...
双指针
2020-09-12
0
670
首页
上一页
1
2
3
4
5
6
下一页
末页