티스토리 뷰

SMALL

두개의 트리의 leaf value를 비교하는 것이다.

두 leaf value가 같다면 true를 반환하고, 다르면 false를 반환한다.

처음에는 이해하지 못하고 너비 우선이랑 깊이 우선에서 고민하고 있었다.

 

class Solution {
    public boolean leafSimilar(TreeNode root1, TreeNode root2) {
        List<Integer> rootValue1 = new ArrayList<>();
        List<Integer> rootValue2 = new ArrayList<>();
        
        comparsionLeaf(root1, rootValue1);
        comparsionLeaf(root2, rootValue2);
    
        return rootValue1.equals(rootValue2);
    }

    private void comparsionLeaf(TreeNode root, List<Integer> rootValue){
        if(root==null) return;
        if(root.left==null && root.right==null){
            rootValue.add(root.val);
        }
        comparsionLeaf(root.left, rootValue);
        comparsionLeaf(root.right, rootValue);
    } 
}

 

 

반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함