leetcode101.对称二叉树

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 compare(TreeNode* left,TreeNode* right){
        //左右节点都空为真,一空一有为假,都有则进一步判断
        if(left==NULL&&right==NULL)
            return true;
        else if(left==NULL&&right!=NULL)
            return false;
        else if(left!=NULL&&right==NULL)
            return false;
        else{
            //两者数值不等为假,两者数值相等则递归比较外侧和里侧
            if(left->val!=right->val)
                return false;
            else{
                bool outSide=compare(left->left,right->right);
                bool inSide=compare(left->right,right->left);
                return outSide&&inSide;
            }
        }
    }
    bool isSymmetric(TreeNode* root) {
        if(root==NULL)
            return true;
        else   
            return compare(root->left,root->right);
    }
};
相关推荐
jinmo_C++5 分钟前
数据结构_深入理解堆(大根堆 小根堆)与优先队列:从理论到手撕实现
java·数据结构·算法
IT199529 分钟前
OpenSSL3.5.2实现SM3数据摘要生成
算法·哈希算法·散列表
Excuse_lighttime40 分钟前
排序数组(快速排序算法)
java·数据结构·算法·leetcode·eclipse·排序算法
潘小安1 小时前
『译』迄今为止最强的 RAG 技术?Anthropic 的上下文检索与混合搜索
算法·llm·claude
kessy11 小时前
安全与续航兼备的“国密芯”——LKT6810U
算法
leo__5201 小时前
基于经验模态分解的去趋势波动分析(EMD-DFA)方法
人工智能·算法·机器学习
lzptouch2 小时前
AdaBoost(Adaptive Boosting)算法
算法·集成学习·boosting
南方的狮子先生2 小时前
【数据结构】(C++数据结构)查找算法与排序算法详解
数据结构·c++·学习·算法·排序算法·1024程序员节
前进的李工2 小时前
LeetCode hot100:560 和为k的子数组:快速统计法
python·算法·leetcode·前缀和·哈希表
在等晚安么3 小时前
力扣面试经典150题打卡
java·数据结构·算法·leetcode·面试·贪心算法