leetcode——872.叶子相似的树

public boolean leafSimilar(TreeNode root1, TreeNode root2) {
        //要想找到两棵树的叶子节点的值是不是一样,就得通过遍历判断来得到,同时存储在一个数组中
        ArrayList<Integer> leaf1 = new ArrayList<>();
        ArrayList<Integer> leaf2 = new ArrayList<>();
        //对树进行遍历
        //创建一个栈,用于存储树的所有节点
        Stack<TreeNode> stack = new Stack<>();
        TreeNode t1 = root1;
        TreeNode t2 = root2;
        //还得对节点进行标记,才能知道哪个节点被访问过
        leafsSearch(t1,leaf1);
        leafsSearch(t2,leaf2);
        return leaf1.equals(leaf2);
    }

    public void leafsSearch(TreeNode t,ArrayList<Integer> list){
        if(t!=null){
            if(t.left == null && t.right == null){
                list.add(t.val);
            }else{
                leafsSearch(t.left,list);
                leafsSearch(t.right,list);
            }
        }
    }

 ——2020.6.17

我的前方是万里征途,星辰大海!!
原文地址:https://www.cnblogs.com/taoyuxin/p/13154508.html