NC16 对称的二叉树

对称的二叉树

https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=188&&tqId=38623&rp=1&ru=/activity/oj&qru=/ta/job-code-high-week/question-ranking

题目:简单题

给定一颗二叉树,判断是否是自身镜像。

示例:略

思路:

此题与LeetCode 101是相同的题,也与LeetCode 100思路相同。我们可以定义一个方法,传入两个参数当做两棵树,还是首先判断两棵树是否为空,为空则返回true,再判断是否存在一棵树为空,另一颗不为空,则是false。最后判断两个树的节点值是否相同。

代码:

public class Solution {
    boolean  isSymmetrical(TreeNode root) {
        return check(root, root);
    }

    boolean check(TreeNode p, TreeNode q) {
        if (p == null && q == null) {
            return true;
        }else if (p == null || q == null) {
            return false;
        }else{
            return p.val == q.val && check(p.left, q.right) && check(p.right, q.left);
        }
       
    }
}
全部评论

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务