即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

宽度优先搜索套路

编程语言 gdmmzmj 12℃ 0评论

相比于我熟悉的深度优先搜索策略,宽度优先搜索代码如下。

    vector<vector<int>> result;
    vector<vector<int>> levelOrderBottom(TreeNode* root) {
        if(!root) return result_final;
        bfs(root,0);
        return result;
    }
    void bfs(TreeNode* root,int level)
    {
        if(root==NULL)
            return;
        if(result.size()1)
            result.push_back(vector<int>{});
        result[level].push_back(root->val);   
        bfs(root->left,level+1);
        bfs(root->right,level+1);
    }

其中,最重要的是传递了level这个参数,然后让每个节点在对应的vector中存储


就是这一句很重要

result[level].push_back(root->val);

转载请注明:CodingBlog » 宽度优先搜索套路

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情