binary-tree-level-order-traversal 1.0.0
Binary Tree Level Order Traversal
Loading...
Searching...
No Matches
Solution Class Reference

Public Member Functions

vector< vector< int > > levelOrder (TreeNode *root)
 

Detailed Description

Definition at line 19 of file main.cpp.

Member Function Documentation

◆ levelOrder()

vector< vector< int > > Solution::levelOrder ( TreeNode root)
inline

Definition at line 22 of file main.cpp.

23 {
24 vector<vector<int>> answer = {};
25 if (root)
26 {
27 queue<pair<TreeNode*, int>> node_queue; // the first is the node, the second is a level
28 node_queue.push({root, 0});
29 while (!node_queue.empty())
30 {
31 TreeNode* current = node_queue.front().first;
32 int level = node_queue.front().second;
33 node_queue.pop();
34
35 if ((int)answer.size() > level)
36 answer[level].push_back(current->val);
37 else
38 answer.push_back(vector<int>{current->val});
39
40 level++;
41 if (current->left)
42 node_queue.push({current->left, level});
43 if (current->right)
44 node_queue.push({current->right, level});
45 }
46 }
47 return answer;
48 }
Definition for a binary tree node.
Definition main.cpp:10
int val
Definition main.cpp:11
TreeNode * left
Definition main.cpp:12
TreeNode * right
Definition main.cpp:13

References TreeNode::left, TreeNode::right, and TreeNode::val.

Referenced by main().


The documentation for this class was generated from the following file: