Binary Tree Level Order Traversal LeetCode solution in C++

1
class Solution {
2
public:
3
vector<vector<int>> levelOrder(TreeNode *root) {
4
queue<TreeNode *> q;
5
vector<vector<int>> result;
6
if (root == NULL) return result;
7
q.push(root);
8
q.push(NULL);
9
vector<int> temp;
10
while (!q.empty()) {
11
TreeNode *top = q.front();
12
q.pop();
13
if (top == NULL) {
14
result.push_back(temp);
15
temp.clear();
16
if (!q.empty()) {
17
q.push(NULL);
18
continue;
19
}
20
return result;
21
} else
22
temp.push_back(top->val);
23

24
if (top->left) q.push(top->left);
25

26
if (top->right) q.push(top->right);
27
}
28

29
return result;
30
}
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0