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 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| class Solution { public: void leftside (TreeNode* &node ,vector<int> &res) { if(node) { res.push_back(node->val); leftside(node->left,res); leftside(node->right,res); } else res.push_back(0); } void rightside (TreeNode* &node , vector<int> &res1) { if(node) { res1.push_back(node->val); rightside(node->right,res1); rightside(node->left,res1); } else res1.push_back(0); } bool isSymmetric(TreeNode* root) { vector<int> res; vector<int> res1; leftside(root->left,res); rightside(root->right,res1); if(res.size() != res1.size()) return false; for(int i=0;i<res.size();i++) { if(res[i] != res1[i]) return false; } return true; } };
|