对称的二叉树(C++)
题目描述:请实现一个二叉树,判断一颗二叉树是否是对称的。注意,一颗二叉树和它的镜像完全相同,则称为对称二叉树。
/* 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) { return ISSymme(pRoot,pRoot); } bool ISSymme(TreeNode* pRoot1,TreeNode* pRoot2) { if(pRoot1==NULL && pRoot2==NULL) return true; if(pRoot1==NULL || pRoot2==NULL) return false; if(pRoot1->val != pRoot2->val) return false; return ISSymme(pRoot1->left,pRoot2->right) && (pRoot1->right,pRoot2->left); } };
我身后空无一人,我怎敢倒下