判断二叉树是否对称

    科技2024-08-09  27

    题目描述

    给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称) 例如:下面这棵二叉树是对称的      1     /  \   2    2  / \    / \ 3 4  4  3 下面这棵二叉树不对称。     1     / \   2   2     \    \     3    3 备注: 希望你可以用递归和迭代两种方法解决这个问题

    示例1

    输入

    {1,2,2}

    输出

    true

    示例2

    输入

    {1,2,3,3,#,2,#}

    输出

    false /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 * @return bool布尔型 */ bool tryFind(TreeNode* lch, TreeNode* rch){ if(!lch && !rch){ return true; } if((!lch && rch) || (lch && !rch)){ return false; } return tryFind(lch->left, rch->right) && tryFind(lch->right, rch->left) && (lch->val == rch->val); } bool isSymmetric(TreeNode* root) { // write code here if(root == NULL){ return true; } return tryFind(root->left, root->right); } };

     

    Processed: 0.012, SQL: 8