本文實例講述了PHP實現(xiàn)從上往下打印二叉樹的方法。分享給大家供大家參考,具體如下:
問題
從上往下打印出二叉樹的每個節(jié)點,同層節(jié)點從左至右打印。
解決思路
每層樹從左到右打印,所以需要將節(jié)點的左右子樹存起來,因為先進先出,所以用隊列。
實現(xiàn)代碼
/*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相關內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數(shù)學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。