NC 15 二叉树的层序遍历
Posted Jqivin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NC 15 二叉树的层序遍历相关的知识,希望对你有一定的参考价值。
题目描述
解题思路
运用二叉树的层序遍历和二叉树的深度计算的思想;
代码展示
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param root TreeNode类
* @return int整型vector<vector<>>
*/
vector<vector<int> > levelOrder(TreeNode* root) {
TreeNode* ptr = root;
vector<vector<int> > res;
if(root == nullptr)
return res;
std::queue<TreeNode*> qu;
qu.push(ptr);
while(!qu.empty())
{
int n = qu.size();
vector<int> vec;
while(n--)
{
TreeNode* vptr = qu.front();
qu.pop();
vec.push_back(vptr->val);
if(vptr->left != nullptr) qu.push(vptr->left);
if(vptr->right != nullptr) qu.push(vptr->right);
}
res.push_back(vec);
}
return res;
}
};
结果
以上是关于NC 15 二叉树的层序遍历的主要内容,如果未能解决你的问题,请参考以下文章