树的问题先想想递归准没错(

对称的二叉树

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

因为做过“按之字形顺序打印二叉树”和“把二叉树打印成多行”,开始想用每一层元素是否和逆序的该层元素相同来判断,但是有点麻烦。
于是写了简单的递归:

bool isSame(TreeNode* a,TreeNode *b)
{
    if(!a && !b)
        return true;
    if(a && b)
    {
        //cout<<a->val<<" "<<b->val<<endl;
        return (a->val == b->val)&&isSame(a->left,b->right)&&isSame(a->right,b->left);
    }
    return false;
}
bool isSymmetrical(TreeNode* pRoot)
{
    if(!pRoot)
        return true;
    return isSame(pRoot,pRoot);
}
全部评论

相关推荐

点赞 评论 收藏
分享
2024-12-20 21:43
湖北大学 Java
黑皮白袜臭脚体育生:项目加一个毛遂自荐一下,开源仿b站微服务项目,GitHub已经390star,牛客上有完整文档教程,如果觉得有帮助的话可以点个小星星,蟹蟹
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务