PHP实现按之字形次序打印二叉树的要领
发布时间:2021-04-01 00:53:03 所属栏目:编程 来源:网络整理
导读:本篇章节讲授PHP实现按之字形次序打印二叉树的要领。供各人参考研究详细如下: 题目 请实现一个函数凭证之字形打印二叉树,即第一行凭证从左到右的次序打印,第二层凭证从右至左的次序打印,第三行凭证从左到右的次序打印,其他行以此类推。 办理
本篇章节讲授PHP实现按之字形次序打印二叉树的要领。分享给各人供各人参考,详细如下: 题目 请实现一个函数凭证之字形打印二叉树,即第一行凭证从左到右的次序打印,第二层凭证从右至左的次序打印,第三行凭证从左到右的次序打印,其他行以此类推。 办理思绪 行使两个栈 实当代码 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 ""; 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措施计划有所辅佐。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |