PHP實現(xiàn)從上往下打印二叉樹的方法
本文實例講述了PHP實現(xiàn)從上往下打印二叉樹的方法。分享給大家供大家參考,具體如下:
問題
從上往下打印出二叉樹的每個節(jié)點,同層節(jié)點從左至右打印。
解決思路
每層樹從左到右打印,所以需要將節(jié)點的左右子樹存起來,因為先進(jìn)先出,所以用隊列。
實現(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;
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
靜態(tài)html文件執(zhí)行php語句的方法(推薦)
下面小編就為大家?guī)硪黄o態(tài)html文件執(zhí)行php語句的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
解決微信授權(quán)回調(diào)頁面域名只能設(shè)置一個的問題
在做項目集成微信登錄以及微信支付的時候,都需要進(jìn)行用戶授權(quán)。本文主要介紹了關(guān)于網(wǎng)頁授權(quán)回調(diào)域名的說明以及解決微信授權(quán)回調(diào)頁面域名只能設(shè)置一個問題的方案。需要的朋友可以參考借鑒2016-12-12
php array_filter除去數(shù)組中的空字符元素
php array_filter除去數(shù)組中的空字符元素,array_filter() 函數(shù)根據(jù)回調(diào)函數(shù)過濾數(shù)組中的值,省略回調(diào)函數(shù)則默認(rèn)過濾空值,需要的朋友可以參考下。2011-11-11
Linux Apache PHP Oracle 安裝配置(具體操作步驟)
本篇文章是對在Linux下安裝Apache+PHP連接Oracle的具體操作步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP獲取指定函數(shù)定義在哪個文件中以及其所在的行號實例
這篇文章主要介紹了PHP獲取指定函數(shù)定義在哪個文件中以及其所在的行號實例,需要的朋友可以參考下2014-05-05

