相同的树

问题

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。


思想

使用广度优先检索进行判断

 

代码

 public boolean isSameTree(TreeNode p, TreeNode q) {
        return bfs(p,q);
    }
    public boolean bfs(TreeNode p,TreeNode q){
        Queue<TreeNode> queueList = new LinkedList<>();
        queueList.add(p);
        queueList.add(q);
        while(!queueList.isEmpty()){
            TreeNode node1 = queueList.poll();
            TreeNode node2 = queueList.poll();
            if(node1 == node2) continue;
            if((null == node1 && null != node2) || (null == node2 && null != node1)) return false;
            if(node1.val != node2.val) return false;
            queueList.add(node1.left);
            queueList.add(node2.left);
            queueList.add(node1.right);
            queueList.add(node2.right);
        }
        return true;
    }

 

posted @ 2025-09-06 09:55  我刀呢?  阅读(7)  评论(0)    收藏  举报