- 博客(10)
- 收藏
- 关注
原创 leetcode NO.101 对称二叉树
这里我用的是层序遍历,也可以用其他的方法做。我这里是把每一层的节点遍历一遍,用双端队列把这一层的节点储存起来,之后再依次检查队首和队尾的数值(空节点用了一个大的负数代替)类似后序遍历,只是左子树遍历左边节点的时候相应的右子树要遍历右边的节点,相当于是从外侧的节点遍历到里侧的节点,顺序和序遍历一样都是左右中。
2024-06-09 18:32:20
168
原创 leetcode NO.111 二叉树的最小深度(递归和迭代)
用全局变量记录最小的深度,函数内的局部变量记录到达当前节点的深度。层序遍历到每一层时,如有叶子节点则返回当前层数。
2024-06-05 22:17:20
104
原创 leetcode NO.104 二叉树的最大深度
如果根节点存在,那么根节点所代表的二叉树的最大深度为该根节点的左子树的最大深度和右子树的最大深度取最大值加一(加上根节点),每一个节点以此类推,递归的方法就出来了。方法一:使用一个全局变量和一个局部变量,全局变量记录最大深度,局部变量表示递归到某一节点时此节点的深度。层序遍历二叉树时记录下此时层数即可。
2024-06-05 10:50:43
404
原创 leetcode NO.102二叉树的层序遍历
利用队列的特性把每一层的节点出队并把下一层的节点入队即可,注意每一层的循环条件size要提前保存不能直接使用queue.size()因为队列的大小在变化因此无法判断每一层的出队情况。
2024-06-02 14:13:55
502
原创 栈和队列:leetcode no.239滑动窗口最大值
这道题目中推入元素时如果队尾的元素比此时的元素要小,则弹出队尾元素,直到队尾元素大于或等于此元素。这样才能模拟窗口移动时元素的移除方式同时对队列内的元素进行排序,保证此时窗口内最大的元素位于队列第一个。我们要模拟一个队列,像题目中所描述的窗口一样在滑动的时候弹出队列前端的第一个元素同时队列后端入队一个元素。最直接的做法就是暴力,就是每一个窗口都去遍历一遍窗口内的元素,找到其中的最大值。继续思考我们还会发现,在不改变元素的顺序时,是没有必要去维护当前窗口内最大元素外的其他元素的。运用单调队列的知识点。
2024-05-23 23:34:37
379
1
空空如也
b站一拖动进度条视频的页面就会刷新一次,如何解决
2024-10-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人