题解 | #求二叉树的层序遍历#

求二叉树的层序遍历

https://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3

 int sublevel(TreeNode* tr,vector<vector<int>>& res,int ind){
    if(!tr)
        return 0;
    if(res.size()<ind){
        vector<int> level;
        level.push_back(tr->val);
        res.push_back(level);
    }//输出结果res层数小于当前层数指标ind,则创建第ind层res[ind-1],并存入val;
    else {
        res[ind-1].push_back(tr->val);
    }//已经创建res的ind层数,直接存入。
    sublevel(tr->left,res,ind+1);//处理下一层(先左);
    sublevel(tr->right,res,ind+1);
    
    return 0;
 }

class Solution {
public:
    vector<vector<int> > levelOrder(TreeNode* root) {
        vector<vector<int>> res;
        int ind=1;
        sublevel(root,res,ind);//层层迭代;
        return res;
    }
};

全部评论

相关推荐

奔跑的suechil...:怎么评论区这么多打广告的 1.项目考虑是两个,可以加个项目 2.bg一般的话,不建议外卖加点评,99%都过不了简历 3.找项目要么是自己找github好点的开源,要么是评论区找广告去跟着,要么就是星球找项目了 加油友友
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务