199. Binary Tree Right Side View 发表于 2022-01-15 BFS123456789101112131415161718192021222324252627class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> numList = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); if (root != null) { queue.offer(root); } while (!queue.isEmpty()) { for (int i = queue.size(); i > 0; i--) { TreeNode node = queue.poll(); if (i == 1) { numList.add(node.val); } if (node.left != null) { queue.offer(node.left); } if (node.right != null) { queue.offer(node.right); } } } return numList; }} DFS12345678910111213141516171819class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> numList = new ArrayList<>(); dfs(numList, root, 0); return numList; } private void dfs(List<Integer> numList, TreeNode node, int depth) { if (node == null) { return; } if (numList.size() == depth) { numList.add(node.val); } dfs(numList, node.right, depth + 1); dfs(numList, node.left, depth + 1); }} Reference199. Binary Tree Right Side View剑指 Offer II 046. 二叉树的右侧视图