华科不平凡
华科不平凡
全部文章
题解
归档
标签
去牛客网
登录
/
注册
ioogle
why join the navy if you can be a pirate
全部文章
/ 题解
(共5篇)
二叉树的层序遍历
来自专栏
用队列实现,每次记录下当前队列的大小即可: // // Created by jt on 2020/8/22. // #include <vector> #include <queue> using namespace std; class Solution { publi...
层序遍历
二叉树
2020-08-22
63
7238
二叉树的之字层序遍历
来自专栏
利用栈的特性,采用两个栈来实现: 栈1,存放偶数层节点 栈2,存放奇数层节点 栈1出栈的时候,将下一层节点push到栈2,这样就实现了不断反转的效果。 有一个至关重要的细节:对栈2出栈并将下一层节点推入栈1的过程中,需要先入右节点再入左节点,否则无法保证顺序。这个特性可以借助例子推导一下。 //...
层序遍历
二叉树
之字遍历
2020-08-22
20
1722
二叉树自底向上层序遍历
来自专栏
利用递归的特性来实现: class Solution { public: /** * * @param root TreeNode类 * @return int整型vector<vector<>> */ vector&l...
递归
层序遍历
二叉树
2020-08-21
0
826
填充树的next指针ii
来自专栏
题目要求空间复杂度为常数级别,因此不能用递归或者使用队列辅助。 如果当前层中节点的next指针已经填充完毕,那么我们很容易根据当前层去填充下一层,只需要“记住”下一层的最左侧节点,即可通过循环实现题目的目标。在这里引入哑节点记录下一层最左侧节点。 另外的话,由于题中二叉树不是满二叉树或者完全二叉树,...
层序遍历
二叉树
2020-08-21
1
878
填充树的next指针
来自专栏
用层次遍历很好做的,但是题目要求是常数级别的空间复杂度,因此需要转换思路。 我们发现: 如果设当前层为i,且当前层所有节点的next指针都已经填充,则从第i层的最左边节点出发,可以遍历当前层; 设当前节点为第i层的第j个节点,那么很容易就能填充节点j在第i+1层的子节点的next指针 于是,产生...
层序遍历
二叉树
2020-08-21
2
808