/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; */ class Solution { public: bool panduan(TreeNode* left, TreeNode* right) { if (left == NULL&&right == NULL) return true; if (left == NULL || right == NULL) return false; if (left->val == right->val) { return (panduan(left->left, right->right) && panduan(left->right, right->left)); } return false; } bool isSymmetrical(TreeNode* pRoot) { if (pRoot == NULL) return true; else { return panduan(pRoot->left, pRoot->right); } } };