首页 > 其他 > 详细

leetcode——872.叶子相似的树

时间:2020-06-17 20:40:04      阅读:65      评论:0      收藏:0      [点我收藏+]
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

leetcode——872.叶子相似的树

原文:https://www.cnblogs.com/taoyuxin/p/13154508.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!