本文實例講述了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è)計有所幫助。