469.Identical Binary Tree-等价二叉树(容易题)

来源:互联网 发布:淘宝网店打底衫长袖 编辑:程序博客网 时间:2024/06/16 20:52

等价二叉树

  1. 题目

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

  2. 样例

    这里写图片描述
    就是两棵等价的二叉树。
    这里写图片描述
    就不是等价的。

  3. 题解

对两棵树同时使用递归进行前序遍历,并对同一位置的节点进行判断,如有不相等则不是等价二叉树。

/** * 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.val != b.val ||             !isIdentical(a.left,b.left) ||               !isIdentical(a.right,b.right))        {            return false;        }        return true;    }}

Last Update 2016.9.18

0 0
原创粉丝点击