코테
[leetcode bfs] 199. Binary Tree Right Side View
박수연_01
2024. 1. 4. 00:19
Binary Tree Right Side View - LeetCode
Can you solve this real interview question? Binary Tree Right Side View - Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom. Example 1: [https://asse
leetcode.com
import java.util.*;
class Solution {
public List<Integer> rightSideView(TreeNode root) {
List<Integer> rightside = new ArrayList<>();
dfs(root, 0, rightside);
return rightside;
}
public void dfs(TreeNode node, int level, List<Integer> rightside) {
if (node == null) {
return;
}
if (rightside.size() == level) {
rightside.add(node.val);
}
dfs(node.right, level + 1, rightside);
dfs(node.left, level + 1, rightside);
}
}
처음에는 level을 생각하지 못하고 if문으로 right랑 left랑 구분해서 right에 없으면 left 노드에서 찾도록 했는데 다른 사람들 코드를 참고해 보니 level을 설정해서 해당 레벨의 값이 리스트에 없으면 해당 값을 넣도록 했다,