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

对称的二叉树

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);
}
全部评论

相关推荐

ming_ri:“很抱歉,您的简历和我们当前的职位需求不是很匹配”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务