cheers 🍺🍺|

冰镇杨梅

园龄:2年2个月粉丝:0关注:0

代码随想录算法训练营第十七天 lc110.平衡二叉树 | lc257. 二叉树的所有路径 | lc404.左叶子之和
摘要: lc110 平衡二叉树 递归法 本题目与求二叉树高度有些类型,使用后序遍历,若节点子树为平衡二叉树则返回当前节点高度,若节点子树为不平衡二叉树则返回-1 class Solution { public: int getHeight(TreeNode* node){ //不平衡返回-1,平衡返回高度
11
0
0
代码随想录算法训练营第十六天 lc104.二叉树的最大深度 | lc111.二叉树的最小深度 | lc222.完全二叉树的节点个数
摘要: lc104 二叉树的最大深度 首先需要知道深度与高度的区别,对于一个二叉树中的节点 深度: 根节点到该节点的距离 高度: 该节点到最底层叶节点的距离 而求最大深度无异于求根节点的高度,二者是相等的 之前使用层序遍历的迭代法做过这道题:[[day14#lc104 二叉树的最大深度]] 本次使用递归的方
22
0
0
代码随想录算法训练营第十四天 层序遍历 | lc226.翻转二叉树 | lc101.对称二叉树
摘要: 二叉树广度优先搜索 lc102 二叉树的层序遍历 二叉树的层序遍历可以依靠队列来完成,使用队列的大小来记录每一层的大小,一层遍历完毕时下一层的节点也已经添加到了队列里,此时更新层大小,继续遍历直到队列为空 class Solution { public: vector<vector<int>> le
15
0
0
代码随想录算法训练营第十三天 二叉树 | 二叉树深度优先遍历 | lc144 二叉树的前序遍历 | lc145 二叉树的后序遍历 | lc94 二叉树的中序遍历
摘要: 二叉树种类 满二叉树 层数为n,节点数为2n1的二叉树 完全二叉树 除了底层都是满的,底层不一定满,但是从左到右连续 二叉搜索树 按一定顺序排列的二叉数,如某节点左侧节点全部小于该节点,右侧节点全部大于该节点,搜索时间复杂度为O(logn) 平衡二叉搜索树 左子树与右子树高度差绝对值不大
111
0
0
代码随想录算法训练营第十二天 239. 滑动窗口最大值 | 347.前 K 个高频元素
摘要: 队列应用 lc239 滑动窗口最大值 本题可以使用队列来记录窗口,但是想要记录最大值,则需要使用单调队列,而且我们只需要维护大值。 在添加元素时,先将比要添加元素小且在尾部的元素全部弹出,再添加元素。 class Solution { private: class MyQueue{ public:
25
0
0
代码随想录算法训练营第十一天 20.有效的括号 | 1047. 删除字符串中的所有相邻重复项 | 150. 逆波兰表达式求值
摘要: 栈应用 lc20 有效的括号 本题考验的是对栈操作的理解,关键在于梳理逻辑,写出判断条件。在写代码之前想清楚可能存在的不匹配的情况(左括号多了,右括号不匹配最近的左括号,右括号多了) class Solution { public: bool isValid(string s) { stack<ch
12
0
0
代码随想录算法训练营第十天 栈与队列 | 232.用栈实现队列 | 225. 用队列实现栈
摘要: 栈与队列 栈:先进后出 (叠起来的盘子 Stack) 队列:先进先出 (现实中排队 Queue) 三个版本的STL HP STL,其他STL的蓝本,开源 P.J.Plauger STL, 被Visual C++采用,不开源 SGI STL,被Linux中GCC所采用,开源 底层实现 栈与队列的底层容
16
0
0
代码随想录算法训练营第九天 字符串总结 | 双指针回顾
摘要: 一刷中,暂时跳过KMP,今天状态也不太好,简单了解了一下,后面来补上。今天先整理一下字符串和双指针。 字符串 除去目前没有掌握的KMP,字符串类的题目除了各种反转类型外,还有需要扩充字符串大小的题目。目前做过的题目基本集中在第八天的内容里: [[day8#字符串 lc344 反转字符串]] [[da
15
0
0
代码随想录算法训练营第八天 344.反转字符串 | 541. 反转字符串II | 剑指Offer 05.替换空格 | 151.翻转字符串里的单词 | 剑指Offer58-II.左旋转字符串
摘要: 字符串 lc344 反转字符串 这道题目其实比较简单,关键在于理解题意并想想哪些库函数可以用,哪些不可以。像这道题,reverse就不要用,swap就可以。 自己的 class Solution { public: void reverseString(vector<char>& s) { int
15
0
0
代码随想录算法训练营第七天 454.四数相加II | 383. 赎金信 | 15. 三数之和 | 18. 四数之和
摘要: 哈希unordered_map lc454 四数相加II 本题是目前遇到时间复杂度最高的题目,核心思路主要分成两部分,第一部分是将四个数组两两分组,每组用两层for循环遍历,也是导致时间复杂度为O(n2)的关键。第二部分与[[day6#unordered_map lc1 两数之和|leetco
32
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起