夜渡寒鸦呀
夜渡寒鸦呀
全部文章
分类
题解(57)
归档
标签
去牛客网
登录
/
注册
夜渡寒鸦呀的博客
全部文章
(共58篇)
题解 | #滑动窗口的最大值#
C语言求解滑动窗口最大值 思路:单调队列:谈一下个人对单调队列的理解。比如说有10个元素,窗口宽度为4,在遍历这10个元素的时候,首先队列是空的,先将第一个元素放入队列,然后当遍历到第二个元素时,将第二个元素与队列里面的比较,如果第二个元素比第一个元素大,那么由于我是求一个滑动的连续的元素最大值,...
C
2022-05-12
2
370
题解 | #栈的压入、弹出序列#
C语言实现栈的压入弹出序列比较 思路:以压入顺序: 1 2 3 4 5,弹出顺序 4 5 3 1 2为列,外层循环遍历弹出序列 4 5 3 1 2,来判断这些元素是否在栈顶。首先对于弹出序列4这个元素,由于一开始是空栈,肯定要不断地入栈,直到栈顶元素为4。然后再将栈顶元素pop出。这时候栈里的元素...
C
2022-05-11
2
424
题解 | #包含min函数的栈#
C语言实现包含min函数的栈操作 思路:简单的栈很容易实现,重点是如何维护min最小值,最简单的想法,每次计算栈元素最小值存放到一个地方,显然时间复杂度成本过高。使用额外的栈来实现,比如说我依次入栈 5 7 8 6 3 2 4,那么设置记录最小值的栈存放 5 3 2。每次入栈时和最小值栈顶比较,判...
C
2022-05-10
2
327
题解 | #两个栈实现队列#
C语言两个栈实现队列 思路:先考虑栈结构,类似一个水桶,先进的元素再最下面;如果说像队列一样,先进的元素最先出去,也就是相当于将栈翻一翻,将水桶的水倒进另一个水桶。因此考虑使用栈,以及倒置栈 入栈操作:正常入栈1,同时将栈1倒置,重置栈2; 出栈操作:从栈2中弹出一个元素,同时使用栈2倒置,重置栈...
C
2022-05-10
12
451
题解 | #序列化二叉树#
C语言实现序列化二叉树 二叉树---->字符串 ·思路:采用层序遍历的方案,使用队列,遍历每一个节点的左右孩子,左右孩子为空则字符为‘#’,否则保存节点值,并且使用队列保存节点。 ·重点:字符串末尾添加结束符 字符串--->二叉树 ·思路:使用两个指针进行遍历字符串,前一个指针指...
C
2022-05-09
0
311
题解 | #二叉树中和为某一值的路径(三)#
C语言求二叉树中和为某一值的路径(三) 思路:根据这道题的题意来看,路径可以从每个结点开始,因此首先可以递归所有的的节点,对于每个节点,再递归所有可能的路径。、 两层递归的问题。第一层递归遍历所有节点,第二层递归每个节点的路径 * struct TreeNode { * int val; ...
C
2022-05-09
0
264
题解 | #二叉搜索树的最近公共祖先#
C语言求二叉搜索树的最近公共祖先 思路:和上一个一模一样,直接拿来用,求两个节点公共祖先 * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; * * C语言声明...
C
2022-05-09
0
277
题解 | #JZ86 在二叉树中找到两个节点的最近公共祖先#
C语言求解两个节点最近公共祖先 思路:先序遍历问题,先按照两个节点先序遍历找到路径,(静态变量迭代),节点相同路径复制,最后比较路径的最后一下相等的元素,就是公共节点。 * struct TreeNode { * int val; * struct TreeNode *left; * s...
C
2022-05-09
0
322
题解 | #对称的二叉树#
C语言递归求解对称二叉树 思路:二叉树问题大部分应该是递归解决,考虑二叉树的对称,自上而下,从根节点除法,左右孩子是相同的。然后再从左右孩子这两个节点除法,左孩子的左孩子节点等于右孩子的右孩子节点,左孩子的右孩子节点等于右孩子的左孩子节点。 重点:这个递归式应该是两个参数递归,也就是两个镜像节点进...
C
2022-05-06
0
386
题解 | #二叉树的下一个结点#
C语言求二叉树的下一个中序遍历节点 思路:注意中序遍历,那么就去写一个中序遍历的递归函数;注意每个节点的Next指针指向父节点,说明尽头是根节点。这样就可以去中序遍历了; 重点:使用了一个全局静态变量flag,用于标志是否中序遍历到目标节点,如果遍历到目标节点,说明下一个节点就是我们需要返回的节点...
C
2022-05-06
0
294
首页
上一页
1
2
3
4
5
6
下一页
末页