Open guanpengchn opened 5 years ago
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; */ class Solution { public: bool Calc(TreeNode* left, TreeNode* right){ if(left==nullptr){ return right == nullptr; } if(right==nullptr){ return false; } if(right->val != left->val){ return false; } return Calc(left->right, right->left) && Calc(left->left, right->right); } bool isSymmetrical(TreeNode* pRoot) { if(!pRoot){ return true; } return Calc(pRoot->left, pRoot->right); } };
题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。