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支持页面回退的两种方法
Jan 10 PHP
PHP版自动生成文章摘要
Jul 23 PHP
PHP设计模式 注册表模式
Feb 05 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 PHP
PHP实现常用排序算法的方法
Feb 05 PHP
深入解析PHP底层机制及相关原理
Dec 11 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 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
详解vue 组件
2020/06/11 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
Python实现查找系统盘中需要找的字符
2015/07/14 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
python实现websocket的客户端压力测试
2019/06/25 Python
Python解析json代码实例解析
2019/11/25 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
如何编写python的daemon程序
2021/01/07 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
黄河绝恋观后感
2015/06/08 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
图神经网络GNN算法
2022/05/11 Python