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+AJAX实现无刷新注册(带用户名实时检测)
Dec 02 PHP
Mysql和网页显示乱码解决方法集锦
Mar 27 PHP
php 图像函数大举例(非原创)
Jun 20 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
php简单压缩css样式示例
Sep 22 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP使用phpunit进行单元测试示例
Sep 23 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
PHP实现随机发放扑克牌
Apr 21 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读取csc文件并输出
2015/05/21 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
Python实现简单的代理服务器
2015/07/25 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python assert的用处示例详解
2019/04/01 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
python3 kubernetes api的使用示例
2021/01/12 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
移风易俗倡议书
2014/04/15 职场文书
初一学生评语大全
2014/04/24 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
机械操作工岗位职责
2014/08/08 职场文书
中班上学期个人总结
2015/02/12 职场文书
工作自我推荐信范文
2015/03/25 职场文书
诚信考试主题班会
2015/08/17 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
电工生产实习心得体会
2016/01/22 职场文书