【每日一题】872. 叶子相似的树

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

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

        addLeaf(root1, list1);
        addLeaf(root2, list2);

        if(list1.size() != list2.size()){
            return false;
        }
        for(int i = 0; i < list1.size(); i++){
            if(list1.get(i) != list2.get(i)){
                return false;
            }
        }
        return true;
    }

    //后序遍历
    public void addLeaf(TreeNode root, List<Integer> list){
        if(root == null){
            return ;
        }
        addLeaf(root.left, list);
        addLeaf(root.right, list);
        if(root.left == null && root.right == null){
            list.add(root.val);
        }
    }
}
posted @ 2021-05-10 10:08  zjy4fun  阅读(43)  评论(0编辑  收藏  举报