- 难度: 简单
- 通过率: 42.2%
- 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
题目描述
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3]
是对称的。
1 / \ 2 2 / \ / \ 3 4 4 3
但是下面这个 [1,2,2,null,3,null,3]
则不是镜像对称的:
1 / \ 2 2 \ \ 3 3
说明:文章来源:https://www.toymoban.com/news/detail-830223.html
如果你可以运用递归和迭代两种方法解决这个问题,会很加分。文章来源地址https://www.toymoban.com/news/detail-830223.html
解法:
class Solution {
public:
bool isSymmetric(TreeNode* root) {
if(root == nullptr){
return true;
}
return isSymmetric(root->left, root->right);
}
private:
bool isSymmetric(TreeNode* node1, TreeNode* node2){
if(node1 == nullptr && node2 == nullptr){
return true;
}
if(node1 == nullptr || node2 == nullptr){
return false;
}
if(node1->val != node2->val){
return false;
}
return isSymmetric(node1->left, node2->right)
&& isSymmetric(node1->right, node2->left);
}
};
到了这里,关于【leetcode热题】对称二叉树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!