mirror of
https://github.com/20kaushik02/leetcode-gulag.git
synced 2025-12-06 07:04:06 +00:00
43 lines
891 B
C++
43 lines
891 B
C++
#include "soln.hpp"
|
|
|
|
vector<vector<int>> Solution::levelOrder(TreeNode *root)
|
|
{
|
|
vector<TreeNode *> tree_queue;
|
|
vector<vector<int>> traversal;
|
|
if (root == nullptr)
|
|
{
|
|
return traversal;
|
|
}
|
|
TreeNode *current = root;
|
|
tree_queue.push_back(current);
|
|
while (!tree_queue.empty())
|
|
{
|
|
traversal.push_back(vector<int>());
|
|
for (auto node : tree_queue)
|
|
{
|
|
if (node != nullptr)
|
|
{
|
|
traversal.back().push_back(node->val);
|
|
}
|
|
}
|
|
int level_size = tree_queue.size();
|
|
for (int i = 0; i < level_size; i++)
|
|
{
|
|
if (tree_queue[0] != nullptr)
|
|
{
|
|
if (tree_queue[0]->left)
|
|
tree_queue.push_back(tree_queue[0]->left);
|
|
if (tree_queue[0]->right)
|
|
tree_queue.push_back(tree_queue[0]->right);
|
|
}
|
|
tree_queue.erase(tree_queue.begin());
|
|
}
|
|
}
|
|
return traversal;
|
|
}
|
|
|
|
bool Solution::test(TreeNode *root, vector<vector<int>> answer)
|
|
{
|
|
return levelOrder(root) == answer;
|
|
}
|