PHP獲取二叉樹鏡像的方法
本文實例講述了PHP獲取二叉樹鏡像的方法。分享給大家供大家參考,具體如下:
問題
操作給定的二叉樹,將其變換為源二叉樹的鏡像。
解決思路
翻轉(zhuǎn)二叉樹,有遞歸和非遞歸兩種方式,非遞歸就是使用隊列。
實現(xiàn)代碼
<?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); } }
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
簡單了解WordPress開發(fā)中update_option()函數(shù)的用法
這篇文章主要介紹了WordPress開發(fā)中update_option()函數(shù)的用法,update_option()函數(shù)經(jīng)常被用于更新數(shù)據(jù)庫中的數(shù)據(jù),需要的朋友可以參考下2016-01-01php mysql procedure實現(xiàn)獲取多個結(jié)果集的方法【基于thinkPHP】
這篇文章主要介紹了php mysql procedure實現(xiàn)獲取多個結(jié)果集的方法,基于thinkPHP實現(xiàn)針對數(shù)據(jù)庫多個結(jié)果集的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11Mac環(huán)境下php操作mysql數(shù)據(jù)庫的方法分享
今天在mac上搭建好了php的環(huán)境,我們就把php操作mysql數(shù)據(jù)庫的方法分享給大家,有需要的小伙伴參考下。2015-05-05php使用Jpgraph創(chuàng)建3D餅形圖效果示例
這篇文章主要介紹了php使用Jpgraph創(chuàng)建3D餅形圖效果,結(jié)合實例形式分析了php基于Jpgraph繪制圖形的原理、實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02php+mysqli使用面向?qū)ο蠓绞讲樵償?shù)據(jù)庫實例
這篇文章主要介紹了php+mysqli使用面向?qū)ο蠓绞讲樵償?shù)據(jù)庫的方法,實例分析了mysqli對象的創(chuàng)建、連接、查詢及返回結(jié)果、釋放資源等技巧,需要的朋友可以參考下2015-01-01