本文主要介紹了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從上往下列印二元樹實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!