PHP获取二叉树镜像的方法


Posted in PHP onJanuary 17, 2018

本文实例讲述了PHP获取二叉树镜像的方法。分享给大家供大家参考,具体如下:

问题

操作给定的二叉树,将其变换为源二叉树的镜像。

解决思路

翻转二叉树,有递归和非递归两种方式,非递归就是使用队列。

实现代码

<?php
/*class TreeNode{
 var $val;
 var $left = NULL;
 var $right = NULL;
 function __construct($val){
  $this->val = $val;
 }
}*/
function Mirror(&$root)
{
 if($root == NULL)
  return 0;
 $queue = array();
 array_push($queue, $root);
 while(!empty($queue)){
  $node = array_shift($queue);
  $tmp = $node->left;
  $node->left = $node->right;
  $node->right = $tmp;
  if($node->left != NULL)
   array_push($queue, $node->left);
  if($node->right != NULL)
   array_push($queue, $node->right);
 }
}

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

PHP 相关文章推荐
删除数组元素实用的PHP数组函数
Aug 18 PHP
PHP 批量删除 sql语句
Jun 05 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 #PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 #PHP
PHP实现找出链表中环的入口节点
Jan 16 #PHP
详解thinkphp中的volist标签
Jan 15 #PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 #PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 #PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 #PHP
You might like
php数组中删除元素的实现代码
2012/06/22 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
js导出txt示例代码
2014/01/14 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
python 图片验证码代码分享
2012/07/04 Python
python批量制作雷达图的实现方法
2016/07/26 Python
手写一个python迭代器过程详解
2019/08/27 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
大专学生推荐信范文
2013/11/19 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
《赶海》教学反思
2014/04/20 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书