【LeetCode101】Symmetric Tree

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isSymmetric(TreeNode* root) {
        return root == NULL || isSymmetric_help(root->left, root->right);
    }
    bool isSymmetric_help(TreeNode* tree1, TreeNode* tree2){
        if(tree1 == NULL || tree2 == NULL)
            return tree1 == tree2;
        return (tree1->val == tree2->val) && isSymmetric_help(tree1->left, tree2->right) && isSymmetric_help(tree1->right, tree2->left);
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_39458342/article/details/87869290