Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * 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 insert(TreeNode* node, int level,unordered_map<int, vector<int>>& order){
- if(node==nullptr)
- return;
- if(order.find(level)==order.end())
- order[level] ={node->val};
- else
- order[level].push_back(node->val);
- insert(node->left, level+1, order);
- insert(node->right, level+1, order);
- }
- vector<vector<int>> levelOrder(TreeNode* root) {
- if(root==nullptr)
- return {};
- unordered_map<int, vector<int>> order;
- insert(root, 0, order);
- vector<vector<int>> ans;
- for(int i = 0;i<order.size();i++){
- ans.push_back(order[i]);
- }
- return ans;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement