相同的树
问题
给你两棵二叉树的根节点 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; }
浙公网安备 33010602011771号