본문 바로가기
Algorithm

872 : Leaf-Similar Trees ( leetcode / java )

코동이 2020. 10. 28.

 

*해결과정

 

List를 2개 만들고, DFS를 2번 돌려서 List를 비교한다. list를 비교할 때 equals를 써서 비교가 가능하다.

import java.util.*;
class Solution {
    public boolean leafSimilar(TreeNode root1, TreeNode root2) {
        List<Integer> list1 = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();
        
        DFS(root1, list1);
        DFS(root2, list2);
        
        return list1.equals(list2);
    }
    
    public void DFS(TreeNode root, List<Integer> list){
        if(root.left==null && root.right==null){
            list.add(root.val);
            return;
        }
        
        if(root.left!=null) DFS(root.left, list);
        if(root.right!=null) DFS(root.right, list);
    }
}

* 같은 type을 가진 list를 비교할 때, 내부에 어떤 값을 가지고 있는지 equals로 비교가 가능하다!

반응형