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 相关文章推荐
PHP4和PHP5性能测试和对比 测试代码与环境
Aug 17 PHP
PHP获取网卡地址的代码
Apr 09 PHP
php 破解防盗链图片函数
Dec 09 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
PHP面向对象分析设计的61条军规小结
Jul 17 PHP
php获取mysql数据库中的所有表名的代码
Apr 23 PHP
简单的php缓存类分享     php缓存机制
Jan 22 PHP
php生成xml时添加CDATA标签的方法
Oct 17 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
PHP多线程类及用法实例
Dec 03 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 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版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
htm调用JS代码
2007/03/15 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
tornado框架blog模块分析与使用
2013/11/21 Python
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python实现简单的可逆加密程序实例
2015/03/05 Python
python中threading超线程用法实例分析
2015/05/16 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
详解python 中in 的 用法
2019/12/12 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
Python发送邮件实现基础解析
2020/08/14 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
见习期自我鉴定范文
2014/03/19 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
毕业实习计划书
2015/01/16 职场文书
歌剧魅影观后感
2015/06/05 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS