LeetCode 二叉树(二)
前置知识填充篇: 满二叉树:深度为 k 的满二叉树在深度为 k 层也都有左右子树。 完全二叉树:深度为 k 的完全二叉树除了第 k 层节点可能没填满外,其余每层...
前置知识填充篇: 满二叉树:深度为 k 的满二叉树在深度为 k 层也都有左右子树。 完全二叉树:深度为 k 的完全二叉树除了第 k 层节点可能没填满外,其余每层...
232.用栈实现队列 思路:一个出栈的栈,一个入栈的栈实现一个队列,运用栈的四个 API ,在 pop 、peek 是要判断出栈的栈是否为空,为空就把入栈的栈内...
344. 反转字符串 1 2 3 4 5 6 7 8 9 10 class Solution { public void reverseString(char[] s) { char temp; for(int i=0;i<s.length/2;i++){ temp = s[i]; s[i] = s[s.length-1-i]; s[s.length-1-i] = temp; } } } 541. 反转字符串 II 字符串切割从第 i 位置到 k + i - 1 才是切下 k 个字...
242.有效的字母异位词 暴力哈希:map1.put(ch,++map1.get(ch))会报错,+1就不会。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
203. 移除链表元素 思路:先处理头结点 null 或者 val ,再去处理移除节点。 注意:返回值返回 head。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Solution { public ListNode removeElements(ListNode head,...
704. 二分查找 思路:首先把 left 、mid 、 right 都定义出来。mid 的赋值,左右指针的跳转都在循环内完成,注意要 left=mid+1,right = mid-...
01背包 509. 斐波那契数 1 2 3 4 5 6 7 8 9 10 11 class Solution { public int fib(int n) { if(n<2) return n; int[] dp = new int [n+1]; dp[0] = 0; dp[1] = 1; for(int i=2;i<=n;i++) dp[i]=dp[i-1]+dp[i-2]; return dp[n]; } } 70.爬楼梯 思路:走第i层时,从i-1...
455.分发饼干 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int count=0; for(int i=0,j=0;i<s.length && j<g.length;i++){ if(s[i] >= g[j]){ count++; j++; } } return count; } } 376. 摆动序列 我的思路:直接改变数组比如4...
77. 组合 思路:分为终止条件、单层逻辑两层。 终止条件:当长度为 k 就 new 这个 List 并 add 进去并 return。 单层逻辑:for 嵌套 add、递归、remove...
Monday 106.从中序与后序遍历序列构造二叉树 key1:中后序的第一个元素一定是左下角那个,因为中序是:左中右,后序是:左右中。都是先递归左。、后...
Monday 102.二叉树的层序遍历 递归思路:仍然是先深度到顶确定好 deep 把每一深度的 ArrayList new 出来,再往里依次添值。 是否创建 ArrayList 用 if 判断,进了递归的方法 deep 就要 +...
Monday 18.四数之和 思路 :就是昨天三数之和多了一个 for 循环。 注意 :if(j > i + 1 && nums[j] == nums[j-1]){continue;} 这个条件是 j > i+1 ,而不是 j > 0 。 还有就是 > target < target == target 绝对...
有点感觉了,一直持续刷下去!各位看官跟我一起成长啊! Monday 面试题 02.07. 链表相交 注意:暴力循环一定要注意边界条件:A or B 链子为空,只有这一个边界!!!...
刷的脑壳疼,在螺旋矩阵卡了很久,其他的 easy 题都也被卡,目前进度为 2-3 medium / day。 Monday (科普知识) 反码、补码 二进制的第一位是符号位,0是+,1是-,...
首先二叉树的遍历分为,深度优先遍历(dfs)、广度优先遍历(bfs)。 注意:但凡遍历都要注意根节点为 null; 深度优先遍历又分为前中后序遍历...