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 高手之路(一)
Oct 09 PHP
PHP经典的给图片加水印程序
Dec 06 PHP
PHP curl_setopt()函数实例代码与参数分析
Jun 02 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
解析crontab php自动运行的方法
Jun 24 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
php实现的zip文件内容比较类
Sep 24 PHP
yii2 resetful 授权验证详解
May 18 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
laravel框架中视图的基本使用方法分析
Nov 23 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 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缓存技术的多种方法小结
2012/08/14 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
学习ExtJS form布局
2009/10/08 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
eBay美国官网:eBay.com
2020/10/24 全球购物
Linux面试题LINUX系统类
2015/11/25 面试题
资料员的岗位职责
2013/11/20 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
交通事故被告代理词
2015/05/23 职场文书
无违反计划生育证明格式
2015/06/24 职场文书
葬礼主持词
2015/07/02 职场文书
JavaScript组合继承详解
2021/11/07 Javascript
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL