class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
//root,level,result
vector<vector<int>> result;
levelOrder(result,root,0);
return result;
}
void levelOrder(vector<vector<int>> &result,TreeNode* root,int level) {
if(!root) return ;
if(result.size()<=level){
vector<int> temp;
temp.push_back(root->val);
result.push_back(temp);
}else{
result[level].push_back(root->val);
}
levelOrder(result,root->left,level+1);
levelOrder(result,root->right,level+1);
}
};
public:
vector<vector<int>> levelOrder(TreeNode* root) {
//root,level,result
vector<vector<int>> result;
levelOrder(result,root,0);
return result;
}
void levelOrder(vector<vector<int>> &result,TreeNode* root,int level) {
if(!root) return ;
if(result.size()<=level){
vector<int> temp;
temp.push_back(root->val);
result.push_back(temp);
}else{
result[level].push_back(root->val);
}
levelOrder(result,root->left,level+1);
levelOrder(result,root->right,level+1);
}
};