题解 | #对称的二叉树#

对称的二叉树

http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb

 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param pRoot TreeNode类 
 * @return bool布尔型
 */
#include<stdbool.h>
bool check(struct TreeNode*left,struct TreeNode*right)
{
    if(left==NULL&&right==NULL)return true;
    if(left==NULL&&right!=NULL)return false;
    if(left!=NULL&&right==NULL)return false;
    if(left->val==right->val)
    {
        return check(left->left,right->right)&&check(left->right,right->left);
    }
    return false;
}
bool isSymmetrical(struct TreeNode* pRoot ) {
    // write code here
    if(pRoot==NULL)return true;
    
    return check(pRoot->left,pRoot->right);
}
全部评论

相关推荐

评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务