PHP实现判断二叉树是否对称的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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);
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php常用文件操作函数汇总

本文实例分析了php常用文件操作函数。分享给大家供大家参考。具体方法如下: 这里搜集了大量的php中文件操作函数如有文件打开,创建,删除,更变组,读取写文件,文件上传以及打开远程文件,把...

PHP实现的XML操作类【XML Library】

本文实例讲述了PHP实现的XML操作类。分享给大家供大家参考,具体如下: 这是一个接口程序,需要大量分析解析XML,PHP的xml_parse_into_struct()函数不能直接生成...

php实现singleton()单例模式实例

本文实例讲述了php实现singleton()单例模式的方法。分享给大家供大家参考。具体实现方法如下: common.php文件如下: 复制代码 代码如下:<?php&nb...

Adnroid 微信内置浏览器清除缓存

      微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信app在IOS中是可以刷新页面的,但是Android中却不知道基...

php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法

在php命令行下执行.php文件时,执行环境的工作目录(getcwd( ))是php命令程序(php.exe)所在目录,所以如果想在文件内使用相对路径时,要先切换当前的工作目录才行。 小...