脚本宝典收集整理的这篇文章主要介绍了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,请注明来意。