码迷,mamicode.com
首页 > 其他好文 > 详细

101-对称二叉树

时间:2021-03-17 14:29:11      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:binary   检查   节点   node   递归   amp   pre   als   roo   

leetcode题解——对称二叉树

题目如下

给定一个二叉树,检查它是否是镜像对称的。

解题思路

考察递归

  • 对于一棵树,可以从外围到内围一层层判断是否镜像
  • 外围对应的是左边结点的左孩子和右边结点的右孩子
  • 内围对应的是左边节点的右孩子和右边结点的左孩子
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool compare(struct TreeNode*left, struct TreeNode* right){
    if(left==NULL && right!=NULL){return false;}
    else if(left!=NULL && right==NULL){return false;}
    else if(left==NULL && right==NULL){return true;}
    else if(left->val != right->val){return false;}
    return compare(left->left, right->right)&&compare(left->right, right->left);
}

bool isSymmetric(struct TreeNode* root){
    if(root==NULL){
        return true;
    }
    return compare(root->left, root->right);
}

101-对称二叉树

标签:binary   检查   节点   node   递归   amp   pre   als   roo   

原文地址:https://www.cnblogs.com/karkinos/p/14542875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!