关于加强企业门户网站建设通知,最近的新闻头条,wordpress 原子特效,华创网站建设199. 二叉树的右视图 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目
给定一个二叉树的 根节点 root#xff0c;想象自己站在它的右侧#xff0c;按照从顶部到底部的顺序#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4]
输出… 199. 二叉树的右视图 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目
给定一个二叉树的 根节点 root想象自己站在它的右侧按照从顶部到底部的顺序返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4]
输出: [1,3,4]示例 2:
输入: [1,null,3]
输出: [1,3]示例 3:
输入: []
输出: []提示:
二叉树的节点个数的范围是 [0,100]-100 Node.val 100 Related Topics 树深度优先搜索广度优先搜索二叉树 2、题目分析
3、复杂度最优解代码示例 ListInteger res new ArrayList();public ListInteger rightSideView(TreeNode root) {// 从根节点开始访问根节点深度是0dfs(root, 0);return res;}private void dfs(TreeNode root, int depth) {if (root null) {return;}// 先访问 当前节点再递归地访问 右子树 和 左子树。if (depth res.size()) {// 如果当前节点所在深度还没有出现在res里说明在该深度下当前节点是第一个被访问的节点因此将当前节点加入res中。res.add(root.val);}depth;dfs(root.right, depth);dfs(root.left, depth);}4、适用场景