算法6 Same Tree

2017-10-08  本文已影响0人  holmes000

题目:给出两个二叉树,写一个方法判断这两个树是否相同。
两个二叉树如果结构一致,并且每个节点有相同的值,则我们认为它们相同。

思路:先判断两个二叉树的每个对应位置节点相不相同,主要是用到递归。

代码:

public boolean isSameTree(TreeNode p, TreeNode q) {
    //若搜索到同时为 null 说明搜索完了还是对的,那就是true
    if(p == null && q == null) return true;
    //若一个null,一个不null,明显返回false
    if(p == null || q == null) return false;
    //如果相等继续往下判断
    if(p.val == q.val)
        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    return false;
}
上一篇 下一篇

猜你喜欢

热点阅读