题目考查的知识点
- 递归遍历二叉树
题目解答方法的文字解析
- 判断root节点是否仅存在一个孩子的情况,是则返回false
- 如果root存在左右孩子,判断左右孩子的值是否相等,否则返回false
- 递归,遍历左右子树是否是对称的
本题解析所用的编程语言
- c++
完整且正确的编程代码
class Solution {
public:
bool isSymmetric(TreeNode* root) {
if (!root)return true;
else return helper(root->left, root->right);
}
bool helper(TreeNode* lhs, TreeNode* rhs) {
if (!lhs)return rhs == nullptr;
else if (!rhs)return lhs == nullptr;
if (lhs->val != rhs->val)return false;
return helper(lhs->left, rhs->right) & helper(lhs->right, rhs->left);
}
};



京公网安备 11010502036488号