题解 | #对称的二叉树#

对称的二叉树

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

  1. 空树也是对称树。
  2. 如果时false就返回。
/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution {
public:
    bool isSymmetrical(TreeNode* pRoot) {
        if(!pRoot) return true;//空的是对称树
        return isS(pRoot,pRoot);
    }

    bool isS(TreeNode* left, TreeNode* right){


        if(!left&&!right) return true;

        if(!left||!right) return false;

        if(left->val!= right->val) return false;


        return isS(left->left, right->right)&&isS(left->right, right->left);//从根节点开始就开始对称了。

    }

};
剑指Offer 文章被收录于专栏

剑指offer的解析结合

全部评论
点赞 收藏 评论
分享
牛客网
牛客企业服务