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 05 PHP
PHP与C#分别格式化文件大小的代码
May 14 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
解析php做推送服务端实现ios消息推送
Jul 01 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
PHP中copy on write写时复制机制介绍
May 13 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 PHP
PHP日期和时间函数的使用示例详解
Aug 06 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实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php简单实现快速排序的方法
2015/04/04 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
Node.js+ELK日志规范的实现
2019/05/23 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
基于Python的OCR实现示例
2020/04/03 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
人力资源主管职责范本
2014/03/05 职场文书
小学生综合素质评语
2014/04/23 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
生活小常识广播稿
2014/09/16 职场文书
茶花女读书笔记
2015/06/29 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL