320x100
https://leetcode.com/problems/binary-tree-level-order-traversal/
Binary Tree Level Order Traversal - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
이진 트리가 주어졌을 때, 레벨별로 Node의 값을 이중 벡터에 담아 리턴하면 되는 문제다.
1레벨 값: ~~~~
2레벨 값: ~~~~
3레벨 값: ~~~~
4레벨 값: ~~~~
root부터 leaf node까지 내려가며 벡터에 추가하면 끝
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
void levelOrder(TreeNode* node, int level) {
if (node == nullptr) {
return;
}
if (v.empty() || v.size() < level) {
v.push_back(vector<int>(1, node->val));
}
else {
v[level -1].push_back(node->val);
}
if (node->left) {
levelOrder(node->left, level + 1);
}
if (node->right) {
levelOrder(node->right, level + 1);
}
}
vector<vector<int>> levelOrder(TreeNode* root) {
levelOrder(root, 1);
return v;
}
private:
vector<vector<int>> v;
};
320x100
'코딩테스트 준비 > leetcode' 카테고리의 다른 글
257. Binary Tree Paths (0) | 2021.07.28 |
---|---|
103. Binary Tree Zigzag Level Order Traversal (0) | 2021.07.28 |
99. Recover Binary Search Tree (0) | 2021.07.25 |
96. Unique Binary Search Trees (0) | 2021.07.24 |
95. Unique Binary Search Trees II (0) | 2021.07.23 |