[Lintcode] #469 等价二叉树

来源:互联网 发布:php redis auth 编辑:程序博客网 时间:2024/05/21 00:15

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


样例

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

就是两棵等价的二叉树。

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

就不是等价的。


/** * 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: the root of binary tree a.     * @param b: the root of binary tree b.     * @return: true if they are identical, or false.     */    public boolean isIdentical(TreeNode a, TreeNode b) {        // write your code here        if (a == null && b == null)return true;else if (a == null || b == null)return false;else {if (a.val != b.val)return false;return isIdentical(a.left, b.left) && isIdentical(a.right, b.right);}    }}


原创粉丝点击