递归
vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int>> ret;
levelOrderHelper(root,1,ret);
return ret;
}
void levelOrderHelper(TreeNode* root, int level,vector<vector<int>> &ret){
if(!root)
return;
if(ret.size()<level){
ret.push_back(vector<int>());
}
ret[level-1].push_back(root->val);
if(root->left) levelOrderHelper(root->left,level+1,ret);
if(root->right) levelOrderHelper(root->right,level+1,ret);
}
Last updated
Was this helpful?