首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode
梦
创建于2022-08-24
订阅专栏
leetcode
暂无订阅
共36篇文章
创建于2022-08-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
剑指 Offer 30. 包含min函数的栈
思路: 1.额外再维护一个最小栈(空间换时间),数据栈 + 最小栈 2.push:当前元素比最小栈的top元素小,则数据栈和最小栈都push当前元素; 反之若当前元素大于最小栈的top元素,则数据栈p
剑指 Offer 32 - II. 从上到下打印二叉树 II
思路: 在原有BFS(剑指 Offer 32 - I. 从上到下打印二叉树(BFS))的基础上,嵌套一层内循环,缓存size = len(queue)长度,作为内循环的循环次数,也就是当前一层所包含的
剑指 Offer 32 - III. 从上到下打印二叉树 III
思路: 在 剑指 Offer 32 - II. 从上到下打印二叉树 II 的基础上,要求按照之字形顺序打印二叉树,即:第1行(从左往右) -> 第2行(行从右往左 )-> 第3行(从左往右)...
剑指 Offer 28. 对称的二叉树
思路: 参考:LeetCode大佬题解 isSymmetric(root) : 特例处理: 若根节点 root 为空,则直接返回 true 。 返回值: 即 checkIsSymmetric(root
剑指 Offer 52. 两个链表的第一个公共节点
思路: 一、快慢指针 先分别遍历两条链表的长度 较长的一条链表先走 abs(lenA - lenB) 步 curA,curB再同步走,直至遇到公共节点 二、利用map(略) 时间复杂度:
LeetCode:5. 最长回文子串
思路: 参考视频:史上最燃算法刷题!Leetcode 5. 最长回文子串_哔哩哔哩_bilibili 动态规划,找出状态转移方程如下: 编辑 对于 j - i > 2 的情况:dp[i][j]的状态
LeetCode 14. 最长公共前缀
思路: 从字符串数组中随便选一个作为被比较的prefix,比如strs[0] 判断prefix是否是strs数组中每个元素的子串 如果是,则跳过,不进入内循环 如果不是,则将待比较的 prefix 从
LeetCode 146. LRU 缓存
思路: 参考:力扣 更多lru相关知识可学习大佬文章:其实吧,LRU也就那么回事。 借助hash链表(hashmap + 双向链表)这一组合的数据结构 Put() 操作中: 若key已存在:更新值并将
LeetCode 26. 删除有序数组中的重复项
思路: 左右双指针法 如果右指针指向的值等于左指针指向的值,左指针不动,仅仅右指针向右移动一步。 如果右指针指向的值不等于左指针指向的值,那么左指针先向右移动一步,然后再把右指针的值赋给左指针,最后右
LeetCode 33. 搜索旋转排序数组
思路: 题目规定要用时间复杂度为 O(log n) 的算法解决此问题,且为无重复元素的排序数组,可采用二分查找的变种法 判断mid左侧是单调递增区间还是右侧为单调递增区间 若mid左侧是单调递增区间:
LeetCode 61. 旋转链表
思路: ****这道题与 LeetCode 189. 轮转数组_dreamer'~的博客-CSDN博客 颇为相似,只是数据结构从数组变为了链表。但因为链表结构不支持下标操作,所以解题思路有所不同。
LeetCode 160. 相交链表
思路: 方法1 双指针-同步走(推荐,时空复杂度都为最优),具体参考视频题解:力扣 就是每轮循环中,curA和curB都要彼此同步走一步,而不是让curA先走完或让curB先走完 用双指针curA
LeetCode 238. 除自身以外数组的乘积
思路: 优化前: 分别建立以nums[i]为中心的左右乘积列表l和r(左右乘积都需排除nums[i]) 然后通过 **res[i] = l[i]r[i] *,得到结果并返回res 优化后: 将res复
LeetCode 557. 反转字符串中的单词 III
思路: 先根据空格将s拆分为字符串数组 字符串数组中的元素交换位置:字符串是常量不能随意修改,所以要再转化为[]byte数组后才能进行下标操作 将交换位置后的字符串存入res字符串数组中,并对其进行空
LeetCode 215. 数组中的第K个最大元素
思路: 我们也可以使用堆排序来解决这个问题——建立一个大根堆,做 k - 1 次删除操作后堆顶元素就是我们要找的答案。在很多语言中,都有优先队列或者堆的的容器可以直接使用,但是在面试中,面试官更倾向于
LeetCode: 104. 二叉树的最大深度(包含递归模板)
时间复杂度: O(N) 每个结点只访问一次,因此时间复杂度为 O(N),其中 N 是结点数。 空间复杂度: 在最糟糕的情况下,树是完全不平衡的,例如每个结点只剩下左子结点,递归将会被调用 N 次(树的