首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
代码随想录
Frost567
创建于2022-09-21
订阅专栏
刷代码随想录
暂无订阅
共40篇文章
创建于2022-09-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
代码随想录Day24 | 77、组合 | 回溯
77. 组合 题目链接:77. 组合 思路: 回溯的本质是暴力穷举。回溯法解决的问题都可以抽象为树形结构,解决一个回溯问题,实际上就是一个决策树的遍历过程。回溯法模版的其核心就是 for 循环里面的递
代码随想录Day23 | 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树 | 二叉树、递归、BST
669. 修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 思路: 1、root.val < lo,这种情况下 root 节点本身和 root 的左子树全都是小于 lo 的,都需要被剪掉**。 2、
代码随想录Day22 | 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点 | 二叉树、递归、BST
235. 二叉搜索树的最近公共祖先 题目链接:235. 二叉搜索树的最近公共祖先 思路: 1、如果 p 和 q 都比当前节点小,那么显然 p 和 q 都在左子树,那么 LCA 在左子树。 2、如果 p
代码随想录Day21 | 530. 二叉搜索树的最小绝、501. 二叉搜索树、236. 二叉树的最近公共祖 | 二叉树、递归、BST
530. 二叉搜索树的最小绝对差 题目链接:530. 二叉搜索树的最小绝对差 思路: 中序遍历会有序遍历 BST 的节点,遍历过程中计算最小差值即可。 总结: 501. 二叉搜索树中的众数 题目链接:
代码随想录Day20 | 654. 最大二叉树、617. 合并二叉数、700. 二叉搜索树中的搜索、 98. 验证二叉搜索树 | 二叉树、递归、BST
654. 最大二叉树 题目链接:654. 最大二叉树 思路: 函数 build 的定义是根据输入的数组构造最大二叉树,那么先要找到根节点,然后让 build 函数递归生成左右子树即可。数组中最大的数字
代码随想录Day18 | 513. 找树左下角的值、112. 路径总和、105. 从前序与中序遍历序列构造二叉树 | 二叉树、递归、回溯
513. 找树左下角的值 题目链接:513. 找树左下角的值 思路: 这题用层序遍历的话非常简单,先加入节点的右孩子到队列,再加入左孩子,每遍历到一个节点更新res的值,最后出来的节点是树的左下角。
代码随想录Day17 | 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和 | 二叉树、递归
110. 平衡二叉树 题目链接:110. 平衡二叉树 思路: 递归计算左子树和右子树的高度,后序遍历位置判断左右子树的高度差,并计算root的高度。 总结: 257. 二叉树的所有路径 题目链接:25
代码随想录Day16 | 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数 | 二叉树、递归
104. 二叉树的最大深度 题目链接:104. 二叉树的最大深度 思路: 题目问的是最大深度,可以理解为根节点的高度。这题使用后序遍历,因为父节点只有知道子节点的高度,才能计算自己的高度。 总结: 分
代码随想录Day15 | 102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树 | 二叉树、递归
102. 二叉树的层序遍历 题目链接:102. 二叉树的层序遍历 思路: 层序遍历还是比较简单的,用一个队列即可实现。挨个遍历每一层的节点,并把每个节点的子节点加入队列。 总结: 和相邻两个元素相关的
代码随想录Day14 | 递归遍历 、迭代遍历、统一迭代 | 二叉树的遍历
递归遍历 题目链接: 144. 二叉树的前序遍历 94. 二叉树的中序遍历 145. 二叉树的后序遍历 思路: 复习二叉树的基本遍历 总结: 递归三要素: 确定递归函数的参数和返回值: 确定哪些参数
代码随想录Da11 | 232. 用栈实现队列 、225. 用队列实现栈 、20. 有效的括号、1047. 删除字符串中的所有相邻重复项 | 栈
232. 用栈实现队列 题目链接:232. 用栈实现队列 思路: 用两个栈,使用 peek 或 pop 操作队头的元素时,若 s2 为空,可以把 s1 的所有元素取出再添加进 s2,这时候 s2 中元
代码随想录Day10 | 459. 重复的子字符串 | KMP
459. 重复的子字符串 题目链接:459. 重复的子字符串 思路: 第一种解法:如果一个字符串由若干个相同的字符串组成,那么将这个字符串复制一份接入原字符串的尾部,新的字符串中一定包含原字符串(不算
代码随想录Day9 | 28. 找出字符串中第一个匹配项的下标 | KMP
28. 找出字符串中第一个匹配项的下标 题目链接:28. 找出字符串中第一个匹配项的下标 思路: 反复看了很久的视频。首先next是一个前缀表,模式串与前缀表对应位置的数字表示的就是:下标i之前(包括
代码随想录Day8 | 344. 反转字符串 、541. 反转字符串II 、5.替换空格、151.翻转字符串里的单词、左旋转字符串 | 字符串
344. 反转字符串 题目链接:344. 反转字符串 思路: 简单双指针 我的代码: 问题: 总结: 541. 反转字符串II 题目链接:541. 反转字符串II 思路: 让i每次向前前进2k,如果剩
代码随想录Day7 | 454. 四数相加II 、383. 赎金信 、15. 三数之和、18. 四数之和 | 哈希表、双指针
454. 四数相加I 题目链接:454. 四数相加II 思路: 先创建一个hashmap,使用两个for循环将前两个数组中的各项和作为key,和的个数作为value,存入map。然后再使用两个for循
代码随想录Day6 | 242. 有效的字母异位值 、349. 两个数组的交集 、202. 快乐数、1.两数之和 | 哈希表
242. 有效的字母异位值 题目链接:242. 有效的字母异位词 - 力扣(LeetCode) 思路: 因为题目假设都是小写字母,可以使用大小为26的数组来当作哈希表,对第一个String的每一个ch
代码随想录Day4 | 24. 两两交换链表中的节点 、19. 删除链表的倒数第N个节点 、160. 链表相交、142.环形链表II | 链表操作、双指针
24. 两两交换链表中的节点 题目链接:24. 两两交换链表中的节点 - 力扣(LeetCode) 思路: 基本的链表操作,注意链表的操作顺序,以及使用temp来存储需要存储的节点。 我的代码: 问题
代码随想录Day3 | 203.移除链表元素、707.设计链表、206.反转链表 | 链表操作
203. 移除链表元素 题目链接:203. 移除链表元素 - 力扣(LeetCode) 思路: 两个指针一个pre指向虚拟头节点,一个cur指向head,cur不为null时,进行循环,当cur的值等
代码随想录Day2 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II | 双指针、滑动窗口、二维数组
977.有序数组的平方 题目链接:977. 有序数组的平方 - 力扣(LeetCode) 思路:这道题目
代码随想录Day1 | 704. 二分查找、27. 移除元素 | 二分、双指针
代码随想录Day1 | 704. 二分查找、27. 移除元素 | 二分、双指针 zszszszszs