对称二叉树,就是左节点的左节点等于右节点的右节点,左节点的右节点等于右节点的左节点。

很自然就想到迭代与递归,可以创建一个新的函数,就是另一个函数不断的判断,返回在主函数。

class Solution {
public boolean isSymmetric(TreeNode root) {
if(root == null)
{
return true;
}
else
return test(root.left,root.right);
} public boolean test(TreeNode p,TreeNode q)
{
if(p == null && q == null)
{
return true;
}
else if(p != null && q != null)
{
if(p.val == q.val)
{
if(test(p.left,q.right) && test(p.right,q.left))
{
return true;
}
else
return false;
}
else
return false;
}
else
return false;
}
}

注意每个if都要else,不然会报错。

LeetCode【101. 对称二叉树】的更多相关文章

  1. Java实现 LeetCode 101 对称二叉树

    101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2 ...

  2. LeetCode 101 对称二叉树的几种思路(Python实现)

    对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的.   1   / \ 2   2 / \ / \3 4 4 3 但是下面这个 [1,2,2 ...

  3. LeetCode 101. 对称二叉树(Symmetric Tree)

    题目描述 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null, ...

  4. LeetCode 101.对称二叉树 - JavaScript

    题目描述:给定一个二叉树,检查它是否是镜像对称的. 题目分析 下面这种二叉树就是镜像对称的,符合题目要求: 1 / \ 2 2 / \ / \ 3 4 4 3 解法 1:递归检查 根据题目" ...

  5. Leetcode题目101.对称二叉树(简单)

    题目描述: 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null ...

  6. 【LeetCode】101. 对称二叉树

    题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3, ...

  7. 领扣(LeetCode)对称二叉树 个人题解

    给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,nul ...

  8. 【Leetcode】对称二叉树

    递归法 执行用时 :12 ms, 在所有 C++ 提交中击败了43.44%的用户 内存消耗 :14.6 MB, 在所有 C++ 提交中击败了95.56%的用户 /** * Definition for ...

  9. Leecode刷题之旅-C语言/python-101对称二叉树

    /* * @lc app=leetcode.cn id=101 lang=c * * [101] 对称二叉树 * * https://leetcode-cn.com/problems/symmetri ...

随机推荐

  1. c语言 实验1

    实验结论 Part 1 首次运行Part 1的几个实验内容时会产生错误,原因如下 有时忘记在主函数中的每行末尾加分号 return 0 时空格错误导致程序运行失败 # include <stdi ...

  2. 《Machine Learning Yearing》读书笔记

    ——深度学习的建模.调参思路整合. 写在前面 最近偶尔从师兄那里获取到了吴恩达教授的新书<Machine Learning Yearing>(手稿),该书主要分享了神经网络建模.训练.调节 ...

  3. 搭建vue的开发环境

    随手笔记:win7 64bit 1.安装node,直接从node官网下载,安装即可. 2.命令行输入 node -v 查看是否安装成功,显示node的版本号即安装成功.安装成功后,输入node,进入n ...

  4. RabbitMQ和kafka从几个角度简单的对比

    业界对于消息的传递有多种方案和产品, 本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比 在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlann ...

  5. jdk的环境变量配置

    首先下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 可以选择下载jdk的版本,按照提示一步一 ...

  6. useradd和groupadd(Linux创建用户\用户组\设置\分配用户权限\多用户远程登录权限)的使用

    前言: man useradd man  groupadd info useradd info  groupadd 都可以获取相关命令的用法信息. 个人比较喜欢读英文解释文档,没有你想象的那么comp ...

  7. C语言中的一维数组

    一.一维数组的定义和引用 (1)一维数组的定义 类型说明符表示数组中的元素类型 数组标识符该数组型变量的名称,命名规则与变量名一致 常量表达式定义了数组中存放的数据元素的个数. (2)一维数组的引用 ...

  8. git push 不想把本地某个目录下文件上传的办法

  9. HQL包含中文查询失败

    jdbc:mysql://172.16.9.6:3306/school?useUnicode=true&characterEncoding=UTF-8配置文件中的url加上编码,一般mysql ...

  10. ML_Clustering

    西瓜书学习...ing K均值 k-means 给定样本集$ D = {X_1,X_2,...X_n} \(,k-means针对聚类所得簇划分\)C = {C_1,C_2,...,C_k}$最小化平方 ...