首页 > 其他 > 详细

判断二叉树是否对称

时间:2015-08-12 16:42:51      阅读:85      评论:0      收藏:0      [点我收藏+]

其实和判断是否相同是一样的:

bool isSymmetric(TreeNode* root) {
    if (root == nullptr) {
        return true;
    }
    
    function<bool(TreeNode*&, TreeNode*&)> check;
    check = [&](TreeNode*& p, TreeNode*& q)
    {
        if (p == nullptr && q == nullptr){
            return true;
        }
        else if (p == nullptr || q == nullptr){
            return false;
        }
        else if (p->val != q->val){
            return false;
        }
        else{
            return (check(p->left, q->right) && check(p->right, q->left));
        }
    };
    
    return check(root->left, root->right);
}

 

判断二叉树是否对称

原文:http://www.cnblogs.com/wuOverflow/p/4724665.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!