![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码随想录算法训练营
文章平均质量分 90
前端花卷
每天进步一点点!
展开
-
代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树原创 2023-09-29 17:36:02 · 73 阅读 · 1 评论 -
代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点
235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点原创 2023-09-29 11:25:57 · 144 阅读 · 1 评论 -
代码随想录算法训练营第二十一天|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先原创 2023-09-28 21:06:57 · 137 阅读 · 0 评论 -
代码随想录算法训练营第二十天|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树原创 2023-09-27 20:26:00 · 95 阅读 · 1 评论 -
代码随想录算法训练营第十八天|513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树原创 2023-09-26 18:51:21 · 186 阅读 · 0 评论 -
代码随想录算法训练营第十七天|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
注意,只有当前遍历的节点是父节点,才能判断其子节点是不是左叶子。,需要先处理中间节点,中间节点就是我们要记录路径上的节点,先放进curPath中, curPath += node.val + '->'当遇到左叶子节点的时候,记录数值,然后通过递归求取左子树左叶子之和,和 右子树左叶子之和,相加便是整个树的左叶子之和。这道题目要求从根节点到叶子的路径,所以需要前序遍历,这样才方便让父节点指向孩子节点,找到对应的路径。递归的过程中依然是遇到空节点了为终止,返回0,表示当前节点为根节点的树高度为0。原创 2023-09-24 10:02:54 · 154 阅读 · 1 评论 -
代码随想录算法训练营第十六天|104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数原创 2023-09-23 14:06:14 · 120 阅读 · 1 评论 -
代码随想录算法训练营第十五天|二叉树层序遍历、226.翻转二叉树、101对称二叉树
深入理解层序遍历,会一道破十道,翻转二叉树;对称二叉树原创 2023-09-22 14:35:23 · 173 阅读 · 1 评论 -
代码随想录算法训练营第十四天|二叉树的递归遍历、二叉树的迭代遍历
我们用迭代法写出了二叉树的前后中序遍历,大家可以看出前序和中序是完全两种代码风格,并不像递归写法那样代码稍做调整,就可以实现前后中序。这是因为前序遍历中访问节点(遍历节点)和处理节点(将元素放进result数组中)可以同步处理,但是中序就无法做到同步!案例144.二叉树的前序遍历题目力扣题目链接给你二叉树的根节点root,返回它节点值的前序遍历。代码如下(JavaScript)// 入栈 右 -> 左// 出栈 中 -> 左 -> 右if(!return res94.二叉树的中序遍历题目。原创 2023-09-21 15:33:55 · 113 阅读 · 0 评论 -
代码随想录算法训练营第十三天|239. 滑动窗口最大值、347.前 K 个高频元素
单调队列快速解决 滑动窗口最大值; 优先级队列快速解决 前k个高频元素原创 2023-09-19 19:57:43 · 105 阅读 · 1 评论 -
代码随想录算法训练营第第十一天|20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值原创 2023-09-17 12:26:50 · 109 阅读 · 1 评论 -
代码随想录算法训练营第十天|232. 用栈实现队列、225. 用队列实现栈
利用两个栈轻松实现队列操作、单队列或双队列多种方法快速实现对栈操作的模拟原创 2023-09-16 20:45:39 · 140 阅读 · 1 评论 -
代码随享录算法训练营第八天|344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
双指针法快速解决反转字符串、for循环巧解反转字符串II、双指针法+数组扩充搞定替换空格、反转字符串+单词反转轻松搞定翻转字符串里的单词、局部反转+整体反转 完美解决左旋转字符串原创 2023-09-15 12:20:03 · 107 阅读 · 0 评论 -
代码随想录算法训练营第七天|454. 四数相加 II、383. 赎金信、15.三数之和、18.四数之和
利用map快速解决 四数相加|| ;利用数组轻松解决 赎金信;双指针法高效解决三数之和;双指针法高效解决四数之和原创 2023-09-14 18:01:05 · 101 阅读 · 1 评论 -
代码随想录算法训练营第六天|242.有效的字母异位词、349. 两个数组的交集、202快乐数、1. 两数之和
用数组快速解决有效的字母异位词;使用set集合快速求出 两个数组的交集、使用set集合解决快乐数、使用map集合解决 两数之和原创 2023-09-12 23:41:07 · 105 阅读 · 0 评论 -
代码随想录算法训练营第四天|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II原创 2023-09-10 21:55:39 · 61 阅读 · 0 评论 -
代码随想录训练营第三天| 203.移除链表元素、206.反转链表
设置虚拟头节点,移除链表元素;双指针法和递归法快速实现链表反转。原创 2023-09-10 11:42:41 · 135 阅读 · 1 评论 -
代码随想录训练营 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
双指针法快速理解有序数组的平方;原创 2023-09-08 12:13:37 · 60 阅读 · 0 评论 -
代码随想录算法训练营 | 704.二分查找、27.移除元素
对于二分法经常会出错的主要原因就是,对区间的定义没有理解清楚,我们在循环中应该始终坚持查找区间的定义来做边界处理.区间的定义就是不变量,那么循环中坚持查找区间的定义来做边界处理,就是循环不变量原则.解释一下题目原文 “你不需要考虑数组中超出新长度后面的元素。”及示例中正确答案本来是nums[2,2]而nums[2,2,3,3] 或nums[2,2,0,0]也会被视为正确答案的原因。因为数组在内存地址中是连续分布的,不能单独删除数组中某个元素,只能覆盖。所以,多余的数组无法直接删掉,还保留在原数组中。原创 2023-09-07 16:24:37 · 156 阅读 · 0 评论