题解 | #从下到上打印二叉树#

从下到上打印二叉树

http://www.nowcoder.com/practice/ed982e032ff04d6a857b4cb4e6369d04

层次遍历+翻转数组:递归、非递归

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 *	TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 * };
 */
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @return int整型vector<vector<>>
     */
    void bfs(TreeNode* root,int t,vector<vector<int> >& res){
        if(!root)return;
        if(t==res.size()){
            vector<int > tmp(1,root->val);
            res.push_back(tmp);
        }
        else{
            res[t].push_back(root->val);
        }
        
        bfs(root->left,t+1,res);
        bfs(root->right,t+1,res);
        return;
    }
    /*vector<vector<int> > levelOrderBottom(TreeNode* root) {
        // write code here
        vector<vector<int> > res;
        bfs(root,0,res);
        reverse(res.begin(),res.end());
        return res;
    }*/
    vector<vector<int> > levelOrderBottom(TreeNode* root) {
        // write code here
        vector<vector<int> > res;
        if(!root)return res;
        queue<TreeNode*> q;
        q.push(root);
        while(!q.empty()){
            int t=q.size();
            vector<int> tmp;
            while(t--){
                TreeNode* node=q.front();
                tmp.push_back(node->val);
                if(node->left)q.push(node->left);
                if(node->right)q.push(node->right);
                q.pop();
            }
            res.push_back(tmp);
        }
        reverse(res.begin(),res.end());
        return res;
    }
};

alt

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4459次浏览 78人参与
# 找AI工作可以去哪些公司? #
10134次浏览 317人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15715次浏览 229人参与
# 你的实习产出是真实的还是包装的? #
20825次浏览 346人参与
# 从事AI岗需要掌握哪些技术栈? #
9839次浏览 391人参与
# 春招至今,你的战绩如何? #
67871次浏览 599人参与
# 米连集团26产品管培生项目 #
13485次浏览 285人参与
# AI面会问哪些问题? #
29148次浏览 633人参与
# 你做过最难的笔试是哪家公司 #
36013次浏览 315人参与
# 中国电信笔试 #
32394次浏览 302人参与
# 金三银四,你的春招进行到哪个阶段了? #
22565次浏览 284人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
341233次浏览 2176人参与
# 同bg的你秋招战况如何? #
212267次浏览 1121人参与
# 哪些公司真双非友好? #
69823次浏览 289人参与
# 如何准备秋招 #
78324次浏览 868人参与
# 阿里笔试 #
179462次浏览 1324人参与
# 应届生被毁约被毁意向了怎么办 #
63354次浏览 305人参与
# 机械人避雷的岗位/公司 #
62727次浏览 393人参与
# 小马智行求职进展汇总 #
25151次浏览 80人参与
# 第一份工作一定要去大厂吗 #
15213次浏览 124人参与
# 担心入职之后被发现很菜怎么办 #
291432次浏览 1210人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26324次浏览 310人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务