https://leetcode.com/problems/binary-tree-level-order-traversal/description
Q. 해당 tree를 level 별로 데이터를 만들어 반환하라.
Solution.
특정 자료구조 문제를 풀기 위해서
반드시 알아야 하는 기본 접근법들이 있다.
이 문제는 binary tree의 그런 문제들 중 하나로, 반드시 풀이법을 알아둬야 하겠다.
더보기
vector<vector<int>> levelOrder(TreeNode* root)
{
queue<TreeNode*> qBuff;
vector<vector<int>> vRet;
if(root == NULL)
return vRet;
qBuff.push(root);
while(!qBuff.empty())
{
int size = qBuff.size();
vector<int> vLevel;
for(int q = 0; q < size; ++q)
{
TreeNode* node = qBuff.front();
qBuff.pop();
vLevel.push_back( node->val );
if(node->left != NULL) qBuff.push(node->left);
if(node->right != NULL) qBuff.push(node->right);
}
vRet.push_back(vLevel);
}
return vRet;
}
결과.
'Leetcode > Top 100 Liked' 카테고리의 다른 글
[Binary Tree][Easy] 108. Convert Sorted Array to Binary Search Tree (1) | 2024.03.13 |
---|---|
[Binary Tree][Easy] 104. Maximum Depth of Binary Tree (0) | 2024.03.12 |
[Binary Tree][Easy] 101. Symmetric Tree (0) | 2024.03.09 |
[Binary Tree][Medium] 98. Validate Binary Search Tree (0) | 2024.03.09 |
[Binary Tree][Easy] 94. Binary Tree Inorder Traversal (0) | 2024.03.08 |