对称二叉树(力扣101)

ops/2024/11/8 21:34:06/

题目如下:

思路

对于这道题, 我会采用递归的解法.

看着对称的二叉树,

写下判断对称的条件,

再进入递归即可.

值得注意的是,

代码中会有两个函数,

第一个是isSymmetric,第二个是judge.

因为这里会考虑到一种特殊情况,

那就是

二叉树的根结点(最上面的那个),它会单独用isSymmetric判断一下,

judge则用来判断根节点的左右两边结点的对称.

代码中有具体注释,请大家看代码.

代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*///注意传参,比较的是一个节点的左右子树
bool judge(struct TreeNode*left,struct TreeNode*right)
{if(left==NULL&&right==NULL){return true;}if(left==NULL||right==NULL){return false;}if(left->val!=right->val){return false;}//再次注意传参,由示例的图可知传参参数的对称性return judge(left->left,right->right)&&judge(left->right,right->left);
}bool isSymmetric(struct TreeNode* root) {//空树对称返回trueif(root==NULL){return true;}//左右子树都为空if(root->left==NULL&&root->right==NULL){return true;}//左右子树中有一颗不为空if(root->left==NULL||root->right==NULL){return false;}//判断是否对称if(root->left->val!=root->right->val){return false;}//进入递归return judge(root->left,root->right);
}


http://www.ppmy.cn/ops/132038.html

相关文章

内容创作太难?分享五个偷懒工具!

在数字内容创作日益繁荣的今天,选择高效、优质的创作资源平台是每位创作者提升作品质量的关键。以下是几个内容创作必备的网站推荐,涵盖了设计、文案、灵感、图片等多个领域,助您在创作的道路上事半功倍。 一、UI中国UI中国官网https://www.u…

LeetCode100之旋转图像(48)--Java

1.问题描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例1 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&…

第七篇: BigQuery中的复杂SQL查询

BigQuery中的复杂SQL查询 背景与目标 在数据分析中,我们通常需要从多个数据源中获取信息,以便进行深入的分析。这时,BigQuery提供的JOIN、UNION和子查询等复杂SQL语句非常实用。本文将以Google BigQuery的公共数据集为例,介绍如何…

提示工程(Prompt Engineering):大模型微调Prompt/Instruct Mode;稀疏向量与稠密向量进行词语编码

目录 提示工程(Prompt Engineering):大模型微调Prompt/Instruct Mode 稀疏向量与稠密向量 稀疏向量 稠密向量 稀疏向量与稠密向量的区别 提示工程(Prompt Engineering):大模型微调Prompt/Instruct Mode 如今已不再是一个陌生的概念,它作为一种“有效地与人工智能沟…

Python 继承、多态、封装、抽象

面向对象编程(OOP)是 Python 中的一种重要编程范式,它通过类和对象来组织代码。OOP 的四个核心概念是继承(Inheritance)、多态(Polymorphism)、封装(Encapsulation)和数据…

Maven(25)如何使用Maven进行性能测试?

使用Maven进行性能测试通常涉及使用JMeter或JMH(Java Microbenchmark Harness)等工具。这里我将详细介绍如何使用JMH进行性能测试,因为它是专门为Java微基准测试设计的。以下是如何在Maven项目中集成JMH进行性能测试的步骤: 步骤…

智能电网能源优化管理系统(Smart Grid Energy Optimization Management System, SGEOMS)

1.产品介绍 产品介绍方案 产品名称 智能电网能源优化管理系统(Smart Grid Energy Optimization Management System, SGEOMS) 主要功能 能源生产优化能源输送优化能源分配优化能源使用优化功能介绍 能源生产优化 具体作用:通过对现有能源生产过程的优化和建立新的能源生产…

pytorch中model.cuda()的使用

文章目录 前言一、model.cuda()是什么?二、使用步骤1. 检查GPU是否可用2. 选择设备3. 移动模型到选定设备4. 确保数据和模型在同一设备上 三、注意事项总结 前言 本文旨在详细解释在PyTorch框架中model.cuda()方法的使用,以及与之相关的torch.cuda.devi…