题目描述:
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树 :

返回其层序遍历:
[
[1],
[3,2,4],
[5,6]
]
说明:
树的深度不会超过 1000。
树的节点总数不会超过 5000。
思路:
首先用一个队列来存储每一个树结点。通过两层循环,
第一层用来保证队列不空,即能够遍历所有的结点;
第二层用来计算每一层的结点数,将每一层的结点数遍历完后存入一个一维数组,然后在外层循环中存入二维数组。
具体可以看注释。
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val) {
val = _val;
}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class So

给定一个N叉树,本题要求返回其节点值的层次遍历结果。采用队列进行层次遍历,外层循环确保遍历所有节点,内层循环按层填充结果数组。示例给出了一个3叉树的层次遍历输出。注意,树的深度不超过1000,节点数不超过5000。
最低0.47元/天 解锁文章
1839

被折叠的 条评论
为什么被折叠?



