【LeetCode】Identical Binary Tree等价二叉树

来源:互联网 发布:双源abo乐乎 编辑:程序博客网 时间:2024/06/08 18:34

等价二叉树 

检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。

    1             1   / \           / \  2   2   and   2   2 /             /4             4

就是两棵等价的二叉树。

    1             1   / \           / \  2   3   and   2   3 /               \4                 4

就不是等价的。


(1)Java

/** * Definition of TreeNode: * public class TreeNode { *     public int val; *     public TreeNode left, right; *     public TreeNode(int val) { *         this.val = val; *         this.left = this.right = null; *     } * } */public class Solution {    /**     * @param a, b, the root of binary trees.     * @return true if they are identical, or false.     */    public boolean isIdentical(TreeNode a, TreeNode b) {       if(a == null && b == null){           return true;       }       if(a == null && b != null|| a != null & b == null){           return false;       }       return a.val == b.val && isIdentical(a.left,b.left)                 && isIdentical(a.right,b.right);       //等价条件:判断两棵Tree是否同构,同构的定义是可以通过交换左右子树使得他们相同    }}



原创粉丝点击