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