给定两个二叉树,判定它们是不是相同。如果两个二叉树结构一样,并且对应的结点的val也一样的话,那么它们就相同。 Input: 1 1 / \ / \ 2 3 2 3 Output: true Input: 1 1 / \ 2 2 Output: false
采用递归,分别比较两个树的各个节点,从根节点开始,如果根节点值相同,递归调用方法判断两树的左子树、两数的右子树是否相等。
public class isTheSameTree {
public static class TreeNode {
TreeNode left;
TreeNode right;
int value;
public TreeNode() {
}
public TreeNode(int value) {
this.value = value;
}
}
public static boolean isOne(TreeNode tree1, TreeNode tree2) {
if (tree1 == null && tree2 == null) {
return true;
}
//if ((tree1 == null && tree2 != null) || (tree1 != null && tree2 == null)) {
//运行到这里说明tree1和tree2不全为