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过滤html标记属性类用法实例

本文实例讲述了php 过滤html标记属性类及其用法。是PHP项目开发中比较常见的实用技巧。分享给大家供大家参考。具体方法如下: HtmlAttributeFilter.class.ph...

关于zend studio 出现乱码问题的总结

出现乱码的地方大概有4个地方:1、文件的编码方式(就是你新建文件的编码),这一点需要设置编辑器的编码方式。2、页面没有指定浏览器编码的显示方式,这一点解决的办法是:1,如果页面是.htm...

php简单浏览目录内容的实现代码

如下所示:复制代码 代码如下:<?php$dir = dirname(__FILE__);$open_dir = opendir($dir);echo "<table bor...

PHP的AES加密算法完整实例

本文实例讲述了PHP的AES加密算法。分享给大家供大家参考,具体如下: <?php class MCrypt { private $hex_iv = '000000...

遍历指定目录下的所有目录和文件的php代码

复制代码 代码如下: <?php function listFiles($path){ $result = array(); foreach(glob($path.'\\'."*"...