Munian's Blog

我有明月与酒,不见人间白头。

代码随想录算法训练营Day15 | 二叉树层序遍历、LeetCode226 翻转二叉树、LeetCode101 对称二叉树

层序遍历 题目链接/文章讲解/视频讲解:https://programmercarl.com/0102.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8F%E9%81%8D%E5%8E%86.html 层序遍历刷题: 102.二叉树的层序遍历 107.二叉树的层次遍历II 199.二叉树的右视图 637...

代码随想录算法训练营Day14 | 二叉树理论基础、递归遍历、迭代遍历、统一迭代

二叉树理论基础 文章讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 二叉树的种类 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 如图所示: 这棵二...

代码随想录算法训练营Day13 | LeetCode239 滑动窗口最大值、LeetCode347 前K个高频元素

day12休息~ LeetCode239 滑动窗口最大值 题目链接/文章讲解/视频讲解:https://programmercarl.com/0239.%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E6%9C%80%E5%A4%A7%E5%80%BC.html 首先想到用队列,pop一个,push一个,始终维护这个滑动窗口,再定义一个getmax...

代码随想录算法训练营Day11 | LeetCode20 有效的括号、LeetCode1047 删除字符串中的所有相邻重复项、LeetCode150 逆波兰表达式求值

LeetCode20 有效的括号 题目链接/文章讲解/视频讲解:https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B7.html ⭐括号匹配 先讨论有3种不匹配的情况: 第一种情况,字符串里左方向的括号多余了,所以不匹配。 第二种情况,括号没有多余,但是括号的类型没...

代码随想录算法训练营Day10 | 栈与队列理论基础、LeetCode232 用栈实现队列、LeetCode225 用队列实现栈

栈与队列理论基础 文章讲解:https://programmercarl.com/%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 栈是先进后出,队列是先进先出: LeetCode232 用栈实现队列 题目链接/文章讲解/视频讲解:https://program...

代码随想录算法训练营Day9 | LeetCode28 实现 strStr()、LeetCode459 重复的子字符串、字符串总结、双指针回顾

LeetCode28 实现 strStr() 题目链接/文章讲解/视频讲解:https://programmercarl.com/0028.%E5%AE%9E%E7%8E%B0strStr.html ⭐KMP算法:解决字符串匹配问题 看了视频 LeetCode459 重复的子字符串 题目链接/文章讲解/视频讲解:https://programmercarl.com/0...

代码随想录算法训练营Day8 | LeetCode344 反转字符串、LeetCode541 反转字符串II、卡码网:54.替换数字、LeetCode151 翻转字符串里的单词、卡码网:55.右旋转字符串

LeetCode344 反转字符串 题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html ✌思路:双指针,i指开头,j指结尾,交换,i往右移,j往左移,直到j≤i class Solution(object): def rev...

代码随想录算法训练营Day7 | LeetCode454 四数相加II、LeetCode383 赎金信、LeetCode15 三数之和、LeetCode18 四数之和

LeetCode454 四数相加II 题目链接/文章讲解/视频讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html ⭐合并,整体时间复杂度$O(n^2)$ 本题解题步骤: 首先定义一个dict,key放a和b两数之和,value 放a和b两数之和出现的次数。 遍历...

代码随想录算法训练营Day6 | LeetCode242 有效的字母异位词、LeetCode349 两个数组的交集 、LeetCode202 快乐数、LeetCode1 两数之和

day5休息~ 哈希表理论基础 文章讲解:https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html ⭐什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 这句话很重要,大家在做哈希表题目都要思考这句话。 ...

代码随想录算法训练营Day4 | LeetCode24 两两交换链表中的节点、LeetCode19 删除链表的倒数第N个节点、面试题 02.07. 链表相交、LeetCode142 环形链表II

LeetCode24 两两交换链表中的节点 题目链接/文章讲解/视频讲解: https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html ⭐增加虚拟头节点 ⭐一定要知道前一个节点 初始...