【leetcode刷刷】122.买卖股票的最佳时机II 、55. 跳跃游戏 、45.跳跃游戏II 【代码】【leetcode刷刷】122.买卖股票的最佳时机II 、55. 跳跃游戏 、45.跳跃游戏II。
【leetcode刷刷】669. 修剪二叉搜索树 、108.将有序数组转换为二叉搜索树 、538.把二叉搜索树转换为累加树 【代码】【leetcode刷刷】669. 修剪二叉搜索树 、108.将有序数组转换为二叉搜索树 、538.把二叉搜索树转换为累加树。
【leetcode刷刷】235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点 【代码】【leetcode刷刷】235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点。
【leetcode刷刷】654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索 、98.验证二叉搜索树 【代码】【leetcode刷刷】654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索 、98.验证二叉搜索树。
【leetcode刷刷】513.找树左下角的值、112. 路径总和 113.路径总和ii、106.从中序与后序遍历序列构造二叉树 、105.从前序与中序遍历序列构造二叉树 【代码】【leetcode刷刷】513.找树左下角的值、112. 路径总和 113.路径总和ii、106.从中序与后序遍历序列构造二叉树 、105.从前序与中序遍历序列构造二叉树。
【leetcode刷刷】104.二叉树的最大深度 、111.二叉树的最小深度 、222.完全二叉树的节点个数 【代码】【leetcode刷刷】104.二叉树的最大深度 、111.二叉树的最小深度 、222.完全二叉树的节点个数。
【leetcode刷刷】二叉树基础 中序:相当于是把左节点压入栈,当处理中间节点的时候再读出来?每次把左节点全部压入栈,从自身开始压,因此读出来的时候就是最左边先读,然后是自身。读自身的时候考虑右节点,如果存在的话,就继续把右节点的左分支全部压入栈。这个栈实现的其实是左中的顺序,右是在处理中的时候处理的。
【leetcode刷刷】239. 滑动窗口最大值 、347.前 K 个高频元素 、栈与队列总结 单调栈/单调队列迷迷糊糊的堆/优先级队列也迷迷糊糊的以前应该是学过的,大顶堆小顶堆二叉树什么的,难过了,明天恶补一下。
【leetcode刷刷】20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值 【代码】【leetcode刷刷】20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值。
【leetcode刷刷】28. 实现 strStr()、459.重复的子字符串、字符串+双指针总结 反转字符串,本身使用双指针来实现本地反转:指针可以考虑从前往后还是从后往前字符串替代KMP:字符串匹配/重复子字符串双指针的一些使用场景:数组移除元素,一个指针遍历一个指针修改,来实现本地修改的时间复杂度O(1),而不是移除一个后面的都移动的O(n)字符串:反转字符串、字符串填充替代、字符串删除空格链表:反转链表、快慢指针(判断环,很难想啊,只能熟能生巧了)、找环的入口(相遇后再把一个指针放回开头,然后一个速度移动)两数之和(哈希)、三数之和/四数之和(排序后+双指针)