코테

[leetcode bfs] 199. Binary Tree Right Side View

박수연_01 2024. 1. 4. 00:19

https://leetcode.com/problems/binary-tree-right-side-view/?envType=study-plan-v2&envId=top-interview-150

 

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을 설정해서  해당 레벨의 값이 리스트에 없으면 해당 값을 넣도록 했다,

'코테' 카테고리의 다른 글

48. Rotate Image  (1) 2024.02.06
leetcode 215. Kth Largest Element in an Array  (1) 2024.01.05