2018-11-03 14:46:42 1516瀏覽
對(duì)PHP開發(fā)感興趣或者是從事PHP開發(fā)的小伙伴應(yīng)該對(duì)PHP實(shí)現(xiàn)從上往下打印二叉樹這些字眼并不陌生吧,本篇文章扣丁學(xué)堂PHP培訓(xùn)小編和讀者們分享一下PHP實(shí)現(xiàn)從上往下打印二叉樹的方法有哪些,文章中涉及php二叉樹遍歷相關(guān)操作技巧,對(duì)PHP開發(fā)感興趣的小伙伴就隨小編一起來看一下吧。
問題:
從上往下打印出二叉樹的每個(gè)節(jié)點(diǎn),同層節(jié)點(diǎn)從左至右打印。
解決思路:
每層樹從左到右打印,所以需要將節(jié)點(diǎn)的左右子樹存起來,因?yàn)橄冗M(jìn)先出,所以用隊(duì)列。
實(shí)現(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;
}
以上就是扣丁學(xué)堂PHP在線學(xué)習(xí)小編給大家分享的PHP實(shí)現(xiàn)從上往下打印二叉樹的方法,希望對(duì)小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢。
想要學(xué)好PHP開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的PHP學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的PHP課程體系和PHP視頻直播課供大家學(xué)習(xí),想要學(xué)好PHP開發(fā)技術(shù)的小伙伴快快行動(dòng)吧。扣丁學(xué)堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>