Easy-题目25:101. Symmetric Tree

题目原文:
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
题目大意:
给一个二叉树,判断它是不是沿中线轴对称的。
题目分析:
(1) 空树是轴对称的。
(2) 轴对称的两棵子树tree1和tree2应满足以下递归条件:
a) 对应值相等;
b) Tree1的右子树和tree2的左子树是轴对称的;
c) Tree1的左子树和tree2的右子树的轴对称的。
源码:(language:java)

public class Solution {
    public boolean isSymmetric(TreeNode root) {
        if(root== null) 
            return true;
        return isSymmetric(root.left, root.right);        
    }

    public boolean isSymmetric(TreeNode tree1, TreeNode tree2){
        if(tree1==null && tree2==null)
            return true;
        else if(tree1 == null || tree2 == null || tree1.val != tree2.val)
            return false;
        else
            return isSymmetric(tree1.left, tree2.right) && isSymmetric(tree1.right, tree2.left);
    }
}

成绩:
1ms,beats21.41%,众数1ms,78.59%
Cmershen的碎碎念:
这道题很基础,但当时却没有想到。这种题应该予以重视,以免面试时面对如此简单题却无能为力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值