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 数组使用详解 推荐
Jun 02 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
php的4种常见运行方式
Mar 20 PHP
php解析xml方法实例详解
May 12 PHP
php操作memcache缓存方法分享
Jun 03 PHP
深入理解PHP内核(一)
Nov 10 PHP
PHP实现批量删除(封装)
Apr 28 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
php 读写json文件及修改json的方法
Mar 07 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之变量、常量学习笔记
2008/03/27 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
php导入导出excel实例
2013/10/25 PHP
php删除数组元素示例分享
2014/02/17 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
详解node.js 事件循环
2020/07/22 Javascript
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
django框架ModelForm组件用法详解
2019/12/11 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
C语言笔试题
2014/09/04 面试题
面试后的感谢信范文
2014/02/01 职场文书
运动会获奖感言
2014/02/11 职场文书
倡议书范文
2014/04/16 职场文书
市政管理求职信范文
2014/05/07 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
病房管理制度范本
2015/08/06 职场文书
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技