本文共 1001 字,大约阅读时间需要 3 分钟。
题目:给定一个 N 叉树,返回其节点值的层序遍历。(从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
解决方案:实现对任意 N 叉树的层序遍历,按照给定格式返回各层节点的值。具体方法如下:
测试示例:假设输入为 1,null,2,null,3
,则输出应为:
1
2
3
完整代码如下:
#include#include using namespace std;vector levelOrder(Node* root) { vector result; queue que; if (root != nullptr) { que.push(root); } while (!que.empty()) { int size = que.size(); vector level; for (int i = 0; i < size; i++) { Node* node = que.front(); que.pop(); level.push_back(node->val); for (size_t j = 0; j < node->children.size(); j++) { if (node->children[j] != nullptr) { que.push(node->children[j]); } } } result.push_back(level); } return result;}
如需更详细说明或示例,请随时联系。
转载地址:http://mepsz.baihongyu.com/