872. Leaf-Similar Trees

양성준·2025년 6월 1일

코딩테스트

목록 보기
71/102

문제

https://leetcode.com/problems/leaf-similar-trees/description/

풀이

class Solution {
    List<Integer> list1 = new ArrayList<>();
    List<Integer> list2 = new ArrayList<>();
    public boolean leafSimilar(TreeNode root1, TreeNode root2) {
        DFS1(root1);
        DFS2(root2);

        return list1.equals(list2);
    }

    public void DFS1(TreeNode root1) {
        if(root1 == null) return;

        if(root1.left == null && root1.right == null) {
            list1.add(root1.val);
            return;
        } 

        DFS1(root1.left);
        DFS1(root1.right);
        return;
    }

        public void DFS2(TreeNode root2) {
        if(root2 == null) return;

        if(root2.left == null && root2.right == null) {
            list2.add(root2.val);
            return;
        } 

        DFS2(root2.left);
        DFS2(root2.right);
        return;
    }
}
  • ArrayList의 equals() 메서드는 각 원소를 순서대로 비교하게끔 오버라이딩 되어있다.
profile
백엔드 개발자

0개의 댓글