本文主要介绍了PHP实现判断二叉树是否对称的方法,涉及php递归二叉树判断节点的相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。

问题

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

题解

递归判断二叉树两侧。

实现代码:

/*class TreeNode{

var $val;

var $left = NULL;

var $right = NULL;

function __construct($val){

$this->val = $val;

}

}*/

function isSymmetrical($pRoot)

{

if($pRoot==null) return true;

return compare($pRoot->left,$pRoot->right);

}

function compare($root1,$root2){

if($root1==null&&$root2==null) return true;

if($root1==null||$root2==null) return false;

if($root1->val!=$root2->val) return false;

return compare($root1->left,$root2->right)&&compare($root1->right,$root2->left);

}

相关推荐:

JavaScript实现二叉树的先序、中序及后序遍历方法

php中关于完全二叉树的定义方法详解

js实现数据结构: 树和二叉树,二叉树的遍历和基本操作方法

Php二叉树对称,PHP如何实现判断二叉树是否对称相关推荐

  1. matlab 求对称,matlab-线性代数 判断 矩阵的对称、实对称、反对称

    matlab : R2018a 64bit OS : Windows 10 x64 typesetting : Markdown blog : my.oschina.net/zhichengjiu 实 ...

  2. php 二叉树判断节点的位置,PHP实现判断二叉树是否对称的方法

    本文实例讲述了PHP实现判断二叉树是否对称的方法.分享给大家供大家参考,具体如下: 问题 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. ...

  3. 剑指offer之中判断二叉树是不是对称二叉树(递归和非递归实现)

    1 问题 判断二叉树是不是对称(递归和非递归实现) 如下二叉树,就是对称的二叉树 23 3 1 4 4 1 如下二叉树,就是非对称的二叉树 23 3 1 4 4 2 2 代码实现 #include & ...

  4. 牛客题霸 [判断二叉树是否对称] C++题解/答案

    [牛客题霸 [判断二叉树是否对称] C++题解/答案](https://www.nowcoder.com/practice/1b0b7f371eae4204bc4a7570c84c2de1?tpId= ...

  5. 二叉树常见算法题(单值二叉树、二叉树的最大深度、反转二叉树、判断两颗二叉树是否相同、对称二叉树、一颗二叉树是否是另一颗二叉树的子树)

    这里的代码都是递归实现的,再强调下二叉树的概念,二叉树的构成有两种情况: 1.空树 2.根节点 + 左子树 + 右子树(这里的左子树和右子树又是一颗二叉树) 可以看出二叉树就是递归定义的,下面的算法题 ...

  6. LeetCode LCP 07. 传递信息 / NC111 最大数 / NC16 判断二叉树是否对称 / NC13 二叉树的最大深度

    祝我党百年华诞生日快乐 LCP 07. 传递信息 2021.7.1 每日一题 题目描述 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下:有 n 名玩家,所有玩家编号分别为 0 - n-1 ...

  7. 二叉树OJ(一)二叉树的最大深度 二叉搜索树与双向链表 对称的二叉树

    二叉树的最大深度 二叉树中和为某一值的路径(一) 二叉搜索树与双向链表 对称的二叉树 二叉树的最大深度 描述 求给定二叉树的最大深度, 深度是指树的根节点到任一叶子节点路径上节点的数量. 最大深度是所 ...

  8. 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树

    代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...

  9. python判断二叉树是否为平衡二叉树

    python判断二叉树是否为平衡二叉树 树是数据结构中的重中之重,尤其以各类二叉树为学习的难点.一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列.在学习与总结的同时更加 ...

最新文章

  1. 排序算法一:选择排序
  2. CCS卸载安装过程及所遇问题
  3. oracle ORA-01113的解决方法(file 1 needs media recovery)
  4. 人脸验证 DeepID 算法实践
  5. 人脸检测算法_目前最强!开源人脸检测算法:RetinaFace
  6. C/C++中Static的作用详述 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。
  7. spark restful_使用Spark构建简单的RESTful API
  8. 温习:ASP.NET页面生命周期
  9. Redis HyperLogLog
  10. 三星Galaxy S21系列将搭载One UI3.1系统:首发声音解锁
  11. BestCoder Round #89
  12. MVC4 Action
  13. java截取视频第一帧图片
  14. iOS网络编程---根据URL下载网络文件的方法
  15. 西门子S7系列PLC与触摸屏模拟仿真(无需实物)
  16. 基于C++的简易的国际象棋双人对战程序设计
  17. 微信JS-SDK说明文档 能调用微信扫一扫 ,那能不能让浏览器支持微信支付呢
  18. 架构设计(8)—高可用架构设计
  19. Springboot+基于知识图谱的短视频推荐系统设计与实现 毕业设计-附源码231115
  20. 如何在Photoshop中更改某人的眼睛颜色

热门文章

  1. 面试中经常会被问到的70个问题
  2. [转]PHP或ASP   中Cookie禁用了,Session还能用吗?
  3. 什么舱位_把“订舱位”说成book warehouse position,外企不会要你
  4. android studio 多个项目管理,Android Studio之同一应用创建多个Activity(一)
  5. 获取浏览器高度_鸡哥解读FILECOIN浏览器之幸运值
  6. android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...
  7. subd计算机系统结构,计算机体系结构第2章试题答案.doc
  8. java发送请求_Java发送Http请求
  9. 要想做好电商美工设计工作,这些必备技能你都需要掌握好!(附下载地址)
  10. python2创建3个线程_用python创建一个线程需要多长时间