本文實(shí)例講述了PHP獲取二叉樹鏡像的方法。分享給大家供大家參考,具體如下:
問題
操作給定的二叉樹,將其變換為源二叉樹的鏡像。
解決思路
翻轉(zhuǎn)二叉樹,有遞歸和非遞歸兩種方式,非遞歸就是使用隊(duì)列。
實(shí)現(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è)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP排序二叉樹基本功能實(shí)現(xiàn)方法示例
- PHP實(shí)現(xiàn)二叉樹深度優(yōu)先遍歷(前序、中序、后序)和廣度優(yōu)先遍歷(層次)實(shí)例詳解
- PHP實(shí)現(xiàn)從上往下打印二叉樹的方法
- PHP實(shí)現(xiàn)按之字形順序打印二叉樹的方法
- PHP基于非遞歸算法實(shí)現(xiàn)先序、中序及后序遍歷二叉樹操作示例
- PHP實(shí)現(xiàn)判斷二叉樹是否對(duì)稱的方法
- PHP實(shí)現(xiàn)繪制二叉樹圖形顯示功能詳解【包括二叉搜索樹、平衡樹及紅黑樹】
- PHP完全二叉樹定義與實(shí)現(xiàn)方法示例
- php實(shí)現(xiàn)二叉樹中和為某一值的路徑方法