1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: bool isSymmetric(TreeNode* root) { if(!root) return true; return helper(root->left, root->right); } private: bool helper(TreeNode* node1, TreeNode* node2) { if(!node1 && !node2) return true; if(!node1 || !node2 || node1->val != node2->val) return false; return helper(node1->left, node2->right) && helper(node1->right, node2->left); } };
|