合集-代码随想录

摘要:day1(10.30) 数组基础部分 重点:: 数组的元素是不能删的,只能被覆盖。 题目 lc704二分查找 把握条件 到底是小于 还是小于等于 怎么决定? 关键在于明确区间的定义 到底是[l, r) ** 还是[l ,r ]** 写法一: [ ] public int search(int[] n 阅读全文
posted @ 2024-11-11 20:54 小杭呀 阅读(22) 评论(0) 推荐(0)
摘要:day14 lc226.翻转二叉树 本题一定要理清遍历顺序, 翻转二叉树也就是 两两交换左右孩子 这个交换是指交换指针指向 并不是交换数字 本题可以使用递归和非递归 但 优先掌握递归解法 使用前序和后续解 既然是写递归 那必须明白递归三部曲 递归函数的返回值和参数 返回翻转之后的根节点 参数就是要传 阅读全文
posted @ 2024-11-13 16:33 小杭呀 阅读(19) 评论(0) 推荐(0)
摘要:day15 Lc110. 平衡二叉树 给定一个二叉树,判断它是否为平衡二叉树 平衡二叉树就是 任何一个节点 他的左右子树的高度相差不超过一 小于等于一 求高度 一定要使用后续便利 左 右 跟 public boolean isBalanced(Node root){ return getH(root 阅读全文
posted @ 2024-11-18 15:48 小杭呀 阅读(24) 评论(0) 推荐(0)
摘要:day16 lc513. 找树左下角的值 给定一个二叉树,在树的最后一行找到最左边的值。 树的最后一行 的 最左值 怎么找左下角呢? 只需要求深度最大的叶子节点 那么一定是最后一行 找到最后一行之后 使用前序便利 只要能保证左边优先进行搜索就行 然后记录最大的叶子节点 此时就是树的最后以后最左位置 阅读全文
posted @ 2024-11-19 20:13 小杭呀 阅读(31) 评论(0) 推荐(0)
摘要:day18 lc530_二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意相邻两节点的差的绝对值的最小值。 需要领悟一下二叉树遍历上双指针操作 提到二叉搜索树 在中序遍历 就是有序的 最直观的想法 就是先中序遍历 转变成有序数组 然后再数组中再去求相邻两个元素的最小绝对差 阅读全文
posted @ 2024-11-21 17:32 小杭呀 阅读(18) 评论(0) 推荐(0)
摘要:day17 lc617_合并二叉树 给你两个二叉树 请你合并成一个二叉树 规则如下: 如果在相同的位置有节点 那么两个节点相加 不为 NULL 的节点将直接作为新二叉树的节点。 注意: 合并必须从两个树的根节点开始。 使用前序便利 跟 左 右 递归三部曲 返回值 返回合并之后的根节点 参数:: 两个 阅读全文
posted @ 2024-11-20 19:40 小杭呀 阅读(24) 评论(0) 推荐(0)
摘要:day22_回溯算法 基础知识 回溯和递归是相辅相成的, 只要有递归 就会有回溯 通常在递归函数的下面出现递归 通常用于解决 组合问题 切割问题 子集问题 排列问题 棋盘问题(n皇后) **组合 : [1, 2] 和 【2, 1】是相同的组合 ** **排列: 【1,2】 和 【2,1】 是两个不同 阅读全文
posted @ 2024-11-24 18:48 小杭呀 阅读(40) 评论(0) 推荐(0)
摘要:day32动态规划 动态规划基础 动态包含哪几类问题? 基础题 背包问题(面试必备) 打家劫舍 股票问题 子序列问题 解决动态规划要解决的问题 dp数组的定义 下标的含义 以及如何初始化 整个数组表示什么意思 下标又是什么意思 怎么初始化 递归公式 dp数组遍历顺序 打印dp数组 打印可以用在deb 阅读全文
posted @ 2024-12-02 16:16 小杭呀 阅读(35) 评论(0) 推荐(0)