這次帶給大家PHP實作從上往下列印二元樹程式碼分享,PHP實作從上往下列印二元樹的注意事項有哪些,下面就是實戰案例,一起來看一下。
問題
從上往下列印出二元樹的每個節點,同層節點由左至右列印。
解決想法
每層樹從左到右列印,所以需要將節點的左右子樹存起來,因為先進先出,所以用隊列。
實作程式碼
/*class TreeNode{ var $val; var $left = NULL; var $right = NULL; function construct($val){ $this->val = $val; } }*/ function PrintFromTopToBottom($root) { $queueVal = array(); $queueNode = array(); if($root == NULL) return $queueVal; array_push($queueNode, $root); while(!empty($queueNode)){ $node = array_shift($queueNode); if($node->left != NULL) array_push($queueNode,$node->left); if($node->right != NULL) array_push($queueNode,$node->right); array_push($queueVal,$node->val); } return $queueVal; }
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
建議讀取:
tp5(thinkPHP5)操作mongoDB資料庫步驟詳解
以上是PHP實作從上往下列印二元樹程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!