Ex32-I 从上到下打印二叉树
题目描述
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7] 返回:[3, 9, 20, 15, 7]
解题思路
这个题比较基础,基本上考察的就是广度优先搜索。
代码
class Solution
{
public:
std::vector<int>
levelOrder (TreeNode *root)
{
std::vector<int> vec;
if (!root)
return vec;
std::queue<TreeNode *> q;
q.push (root);
while (!q.empty ())
{
TreeNode *node = q.front ();
q.pop ();
vec.push_back (node->val);
if (node->left)
q.push (node->left);
if (node->right)
q.push (node->right);
}
return vec;
}
};
结果
执行结果:通过
执行用时:8 ms, 在所有 C++ 提交中击败了45.53%的用户
内存消耗:12.2 MB, 在所有 C++ 提交中击败了31.58%的用户