LeetCode 199. 二叉树的右视图

199. 二叉树的右视图

解题思路

先访问右子树,再访问左子树,这样就能保证在每一层访问到的第一个节点就是该层最右边的节点

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class 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);
}
}

LeetCode 199. 二叉树的右视图
https://sowink.cn/2026/02/08/LeetCode-199-二叉树的右视图/
作者
Xurx
发布于
2026年2月8日
许可协议