思路:
第一种自己做的:对右子树进行调用,值加到数组中,没有在调用左子树,但是会有一个问题,如果左子树比右子树高就会造成结果不正确
第二种自己做的:层序遍历,再将二维数组中的每个数组最右边的值加到结果数组中
题解思路:辅助函数多接收一个参数deep,deep==结果数组长度就添加节点值到结果
var rightSideView = function(root) {
const res = [];
const dfs = function(root,deep){
if(!root) return;
if(res.length === deep) res.push(root.val);
dfs(root.right,deep+1);
dfs(root.left,deep+1);
}
dfs(root,0);
return res;
}
二叉树的右视图
最新推荐文章于 2024-10-02 23:40:03 发布
本文讨论了两种处理二叉树右视图问题的方法:直接对右子树递归和使用深度辅助函数的层序遍历。第一种方法可能导致结果错误,而第二种方法通过传递深度参数解决此问题并提供准确结果。
摘要由CSDN通过智能技术生成