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 面向对象 final类与final方法
May 05 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
php使用pack处理二进制文件的方法
Jul 03 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
如何使用php等比例缩放图片
Oct 12 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
PHP7 错误处理机制修改
Mar 09 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+mysql 实现身份验证代码
2010/03/24 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
php实现微信发红包功能
2018/07/13 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
基于Python中的yield表达式介绍
2019/11/19 Python
python enumerate内置函数用法总结
2020/01/07 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
What is view? why do we have view?
2012/06/22 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
有针对性的求职自荐信
2013/11/14 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
律师函格式范本
2015/05/27 职场文书
亮剑观后感500字
2015/06/05 职场文书
2015年重阳节主持词
2015/07/04 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL