首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
代码人生
台风与玫瑰
创建于2022-09-21
订阅专栏
记录自己的刷题记录。
等 2 人订阅
共141篇文章
创建于2022-09-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【算法17天:Day17】第六章二叉树 LeetCode 平衡二叉树(110)
题目一: 解法一:(递归) 解题思路: 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数。 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数。 Leetcod
【算法16天:Day16】第六章二叉树 LeetCode 完全二叉树的结点个数(222)
题目三: 解法一:(递归、DFS、后续遍历)- 普通二叉树 解题思路:类似于求最大深度。 递归 确定递归函数的参数和返回值:参数就是传入树的根节点,返回就返回以该节点为根节点二叉树的节点数量,所以返回
【算法16天:Day16】第六章二叉树 LeetCode 二叉树的最小深度(111)
题目二: 解题思路: 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始) 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数后者节点数(取
【算法16天:Day16】第六章二叉树 LeetCode 二叉树的最大深度(104)
题目一: 解法一:(层序遍历、BFS) 解题思路:二叉树的最大深度,其实也就是求二叉树的最大层数,只需要在层序遍历中,每一层遍历结束就让深度加一即可。 解法二:(递归) 找出终止条件:当前节点为空 找
【算法15天:Day15】第六章二叉树 LeetCode 对称二叉树(101)
题目三: 解法一:(递归) 解题思路:参考代码随想录,整体就相当于左右子树对称镜像位置一个一个比较。 递归三部曲 确定递归函数的参数和返回值 因为我们要比较的是根节点的两个子树是否是相互翻转的,进而判
【算法15天:Day15】第六章二叉树 LeetCode 翻转二叉树(226)
题目二: 解法一:(递归) js中可以解构赋值,交换很简单。 解法二:(层序遍历、广度优先遍历) 解法三:(深度优先遍历)
【算法15天:Day15】第六章二叉树 LeetCode 层序遍历(10)
题目一: 解法一:(BFS) 解题思路:层序遍历需要借助队列这一数据结构,先将根节点入队,当队列不空时,进入循环;然后队列弹出,如果左子树不为空,左子树入队,右子树不为空,右子树入队。 这道题可以借助
【算法14天:Day14】第六章二叉树 LeetCode 二叉树前序(94 144 145)
二叉树的理论基础等各种知识请参考代码随想录!!! 解法一:递归 前序遍历 解法二:(迭代遍历) 解法三:(统一迭代法)
【算法13天:Day13】第五章栈和队列 LeetCode 滑动窗口最大值(239)
题目二:(难,暂时放着) 解法一:(单调队列) 核心思路:维护一个单调队列,队头元素到队尾元素依次递减,然后最大值就是队列中的第一个元素 合法性判断:滑动窗口外的元素删掉 维护单调队列:如果新加进来的
【算法13天:Day13】第五章栈和队列 LeetCode 前 K 个高频元素(347)
第三题: 解法一:(Map+排序) 解题思路:先使用Map将每个整数频率统计出来,然后将Map根据value进行排序,再将排序后的key按顺序push到temp中,然后根据k,将前频率前k个数push
【算法13天:Day13】第五章栈和队列 LeetCode 逆波兰表达式求值(150)
题目一: 解法一:(栈) 解题思路:这个题就是遇到数字则压栈,遇到运算符,就出栈运算,需要注意的是,‘-’和‘/’这两个运算符,题目的意思是前一个数减去后一个数,而栈出栈的顺序相反,因此遇到‘-’的时
【算法11天:Day11】第五章栈和队列 LeetCode 删除字符串中的所有相邻重复项(1047)
题目四: 解法一:(栈) 解题思路:匹配问题都是栈的强项,首先我们需要遍历整个字符串,如果栈的长度小于1,也就是没有元素,则直接入栈,如果栈的长度大于1,则当前匹配的字符,需要与栈顶元素进行比较,如果
【算法11天:Day11】第五章栈和队列 LeetCode 有效的括号(20)
题目三: 解法一:(栈) 解法二:(hashmap) 解法三:(替换) 解题思路:找到最内层的括号对,消去,重复此过程,若存在无法消去的字符则说明字符串无效。
【算法11天:Day11】第五章栈和队列 LeetCode 用队列实现栈(225)
题目二:解法一:(双队列) 解题思路:这个题其实使用一个队列更容易理解,不过两个队列也可以,主要在于出栈的情况要仔细考虑一下。
【算法11天:Day11】第五章栈和队列 LeetCode 用栈实现队列(232)
题目一: 解法一:(双队列) 解题思路:使用栈来模拟队列的行为,如果仅仅用一个栈,肯定是不行的,所以需要使用两个栈,一个输入栈stackIn,一个输出栈stackOut。push数据的时候,只要数据放
【算法10天:Day10】第四章字符串 LeetCode 重复的子字符串(459)
题目一: 解法一:(拼接) 解题思路: 如果一个字符串s是由其子串重复多次构成,那么s+s中间必定存在一个s,判断之前需要先将首尾字符去掉,避免匹配判断时,检测到原有字符串s。 解法二:(KMP算法)
【算法08天:Day8】第四章字符串 LeetCode 剑指Offer 左旋转字符串(58-II)
题目五: 解法一:(局部反转+全局反转) 解题思路: 解法二:(双倍字符串+截取) 解题思路: 先将字符串重复一次,拼接在结尾 计算n = k % len 然后再从双倍字符串的n处截取,截取len个即
【算法09天:Day9】第四章字符串 LeetCode 实现strStr()(28)
解法一:(库函数) 解法二:(KMP算法) KMP算法:KMP主要应用在字符串匹配上。 KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头
【算法08天:Day8】第四章字符串 LeetCode 反转字符串里的单词(151)
题目四: 解题思路: 解法二:(API) 使用 split 将字符串按空格分割成字符串数组; 使用 reverse 将字符串数组进行反转; 使用 join 方法将字符串数组拼成一个字符串。
【算法08天:Day8】第四章字符串 LeetCode 剑指Offer 替换空格(05)
题目三: 解法一:(库函数) 当然库函数不是我们重点关注的。 解法二:(原地替换) 解题思路: 解法三:(循环替换) 总结: 其实很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后
下一页