本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選