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 相关文章推荐
phpinfo 系统查看参数函数代码
Jun 05 PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
php include和require的区别深入解析
Jun 17 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
php的闭包(Closure)匿名函数初探
Feb 14 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
PHP实现限制域名访问的实现代码(本地验证)
Sep 13 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
浅析php数据类型转换
2014/01/09 PHP
PHP两种实现无级递归分类的方法
2017/03/02 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
jQuery 表格插件整理
2010/04/27 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
python中常用的九种预处理方法分享
2016/09/11 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
django框架auth模块用法实例详解
2019/12/10 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
3个CCIE对一个工程师的面试题
2012/05/06 面试题
new修饰符是起什么作用
2015/06/28 面试题
个人贷款担保书
2014/04/01 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
学校开除通知书
2015/04/25 职场文书
企业法律事务工作总结
2015/08/11 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android