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));
    }
};
相关推荐
froginwe113 分钟前
C# 预处理器指令
开发语言
YuTaoShao4 分钟前
【LeetCode 每日一题】3013. 将数组分成最小总代价的子数组 II
算法·leetcode·职场和发展
爱装代码的小瓶子8 分钟前
【c++与Linux基础】文件篇(5)- 文件管理系统:
linux·开发语言·c++
爱尔兰极光15 分钟前
LeetCode 热题 100--字母异位词分组
算法·leetcode·职场和发展
马猴烧酒.16 分钟前
【团队空间|第十一天】基础功能实现,RBAC权限控制,ShardingSphere详解
java·开发语言·数据库
fengxin_rou16 分钟前
从 String 到 Zset:Redis 核心数据结构全解析及排行榜应用
java·开发语言·redis·多线程
Re.不晚18 分钟前
Java进阶之路--线程最最详细讲解
java·开发语言
梵刹古音19 分钟前
【C语言】 数组基础与地址运算
c语言·开发语言·算法
im_AMBER20 分钟前
Leetcode 112 两数相加 II
笔记·学习·算法·leetcode
wuguan_20 分钟前
C#/VP联合编程之绘制图像与保存
开发语言·c#