leetcode 二叉树的右视图 中等

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了leetcode 二叉树的右视图 中等脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

leetcode 二叉树的右视图 中等

 

 

① bfs 层序遍历:记录每一层的最后一个节点即可

DFs,与先序遍历相反,先遍历右节点,这样就是当前层次第一个出现的数就是最右边的数。

// bfs 代码 class Solution {
public:
    vector<int> rightSideView(TreeNode* root) {
        vector<int> ret;
        queue<pair<TreeNode*, int>> que;
        if(root) que.push({root, 1});
        while(!que.empty()) {
            auto front = que.front(); que.pop();
            if(front.second == ret.size()) {
                ret.back() = front.First -> val;
            }
            else {
                ret.push_back(front.first -> val);
            }
            if(front.first -> left) {
                que.push({front.first -> left, front.second + 1});
            }
            if(front.first -> right) {
                que.push({front.first -> right, front.second + 1});
            }
        }
        return ret;
    }
};

 

脚本宝典总结

以上是脚本宝典为你收集整理的leetcode 二叉树的右视图 中等全部内容,希望文章能够帮你解决leetcode 二叉树的右视图 中等所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。