判断两棵二叉树是否为镜像

来源:互联网 发布:樱井知香和黑人在线av 编辑:程序博客网 时间:2024/06/04 01:39
01// LeetCode, Symmetric Tree
02// 递归版,时间复杂度O(n),空间复杂度O(logn)
03class Solution {
04public:
05    bool isSymmetric(TreeNode *root) {
06        return root ? isSymmetric(root->left, root->right) : true;
07    }
08    bool isSymmetric(TreeNode *left, TreeNode *right) {
09        if (!left && !right) return true;   // 终止条件
10        if (!left || !right) return false;  // 终止条件
11        return left->val == right->val      // 三方合并
12                && isSymmetric(left->left, right->right)
13                && isSymmetric(left->right, right->left);
14    }
15};
0 0
原创粉丝点击