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 03 PHP
PHP设计模式 注册表模式
Feb 05 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
日常整理PHP中简单的图形处理(经典)
Oct 26 PHP
WordPress网站性能优化指南
Nov 18 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 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
PHP5中MVC结构学习
2006/10/09 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
Python 防止死锁的方法
2020/07/29 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
党员的自我评价范文
2014/01/02 职场文书
詹天佑教学反思
2014/04/30 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
开场白怎么写
2015/06/01 职场文书
公司人力资源管理制度
2015/08/05 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
2022年四月新番
2022/03/15 日漫