這篇文章主要介紹了PHP獲取二元樹鏡像的方法,涉及php使用隊列針對二叉樹進行翻轉的相關操作技巧,需要的朋友可以參考下
本文實例講述了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中文網其他相關文章!