国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP實現按之字形順序打印二叉樹的方法

2024-05-05 00:01:59
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現按之字形順序打印二叉樹的方法。分享給大家供大家參考,具體如下:

問題

請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。

解決思路

使用兩個棧

實現代碼

<?php/*class TreeNode{  var $val;  var $left = NULL;  var $right = NULL;  function __construct($val){    $this->val = $val;  }}*/function MyPrint($pRoot){  if($pRoot == NULL)    return [];  $current = 0;  $next  = 1;  $stack[0] = array();  $stack[1] = array();  $resultQueue = array();  array_push($stack[0], $pRoot);  $i = 0;  $result = array();  $result[0]= array();  while(!empty($stack[0]) || !empty($stack[1])){    $node = array_pop($stack[$current]);    array_push($result[$i], $node->val);    //var_dump($resultQueue);echo "</br>";    if($current == 0){      if($node->left != NULL)        array_push($stack[$next], $node->left);      if($node->right != NULL)        array_push($stack[$next], $node->right);    }else{      if($node->right != NULL)        array_push($stack[$next], $node->right);      if($node->left != NULL)        array_push($stack[$next], $node->left);    }    if(empty($stack[$current])){      $current = 1-$current;      $next  = 1-$next;      if(!empty($stack[0]) || !empty($stack[1])){        $i++;        $result[$i] = array();      }    }  }  return $result;}

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 荣成市| 牡丹江市| 尉氏县| 台东市| 大邑县| 绥阳县| 聂荣县| 中方县| 大悟县| 黄梅县| 宁化县| 温泉县| 邵阳市| 乐安县| 平顺县| 永定县| 禄丰县| 呼图壁县| 禹城市| 三门县| 资兴市| 建德市| 九台市| 澎湖县| 黄陵县| 荣昌县| 开封县| 阳曲县| 宁强县| 海盐县| 石柱| 三门峡市| 闸北区| 伊春市| 乐业县| 巴林左旗| 民权县| 江油市| 于都县| 松原市| 河间市|