C++速通LeetCode简单第11题-对称二叉树

递归法:

cpp 复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    bool isSymmetric(TreeNode* root) {
        return isMirror(root,root);    
    }

    bool isMirror(TreeNode* t1,TreeNode* t2)
    {
        if(t1==nullptr&&t2==nullptr)
        return true;

        if(t1==nullptr||t2==nullptr)
        return false;

        return((t1->val==t2->val)&&isMirror(t1->right,t2->left)&&isMirror(t1->left,t2->right));
    }
};
相关推荐
沐知全栈开发30 分钟前
ionic 选项卡栏操作详解
开发语言
曹牧39 分钟前
C#中,#region和#endregion
开发语言·c#
顾安r40 分钟前
11.22 脚本打包APP 排错指南
linux·服务器·开发语言·前端·flask
蒙小萌19931 小时前
Swift UIKit MVVM + RxSwift Development Rules
开发语言·prompt·swift·rxswift
Z***25801 小时前
Java爬虫框架
java·开发语言·爬虫
hateregiste2 小时前
C语言中如何优雅、准确、高效地设计和处理输入输出
c语言·开发语言·scanf·输入输出
SundayBear2 小时前
C语言复杂类型声明完全解析:从右左原则到工程实践
c语言·开发语言·数据结构·嵌入式
90后小陈老师2 小时前
用户管理系统 05 实现后端注册功能 | Java新手实战 | 最小架构 | 期末实训 | Java+SpringBoot+Vue3
java·开发语言·spring boot·后端·spring·maven·mybatis
月夜的风吹雨2 小时前
【封装红黑树】:深度解析map和set的底层实现
c++·set·map·封装
闲人编程2 小时前
Python对象模型:一切都是对象的设计哲学
开发语言·python·模型·对象·codecapsule·下划线