LeetCode 199. 二叉树的右视图 199. 二叉树的右视图解题思路 先访问右子树,再访问左子树,这样就能保证在每一层访问到的第一个节点就是该层最右边的节点 层序遍历,将每一层队列中最后一个节点的值保存下来即可 参考代码12345678910111213141516171819class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> ans = new ArrayList<>(); dfs(root, 0, ans); return ans; } public void dfs(TreeNode node, int depth, List<Integer> ans) { if(node == null) { return; } // 如果当前访问的深度等于结果列表的长度,说明这是该层访问到的第一个节点(最右边的节点),将其值添加到结果列表中 if(depth == ans.size()) { ans.add(node.val); } dfs(node.right, depth + 1, ans); dfs(node.left, depth + 1, ans); }} 层序遍历123456789101112131415161718192021222324class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> res = new ArrayList<>(); if(root == null) { return res; } ArrayDeque<TreeNode> queue = new ArrayDeque<>(); queue.offer(root); while(!queue.isEmpty()) { int size = queue.size(); TreeNode rNode = null; for(int i = 0; i < size; i ++) { TreeNode node = queue.poll(); rNode = node; if(node.left != null) queue.offer(node.left); if(node.right != null) queue.offer(node.right); } if(rNode != null) { res.add(rNode.val); } } return res; }} LeetCode #树 #深度优先搜索 #广度优先搜索 #二叉树 LeetCode 199. 二叉树的右视图 https://sowink.cn/2026/02/08/LeetCode-199-二叉树的右视图/ 作者 Xurx 发布于 2026年2月8日 许可协议 LeetCode 198. 打家劫舍 上一篇 LeetCode 2. 两数相加 下一篇 Please enable JavaScript to view the comments