欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

根据前序序列和中序序列,重建一颗树(PHP递归实现)

程序员文章站 2022-05-17 14:17:12
...
class TreeNode{	public $data;	public $lchild = null;	public $rchild = null;	public function __construct($data='',$lchild=null,$rchild=null){		$this->data = $data;		$this->lchild = $lchild;		$this->rchild = $rchild;	}}

    //根据前序和中序,重建一颗树	//$pre 前序遍历的数组	//$mid 中序遍历的数组	function buildTree($pre,$mid){		$cnt = count($mid);		if($cnt0) $node->lchild = buildTree(array_slice($pre,1,$lenL),array_slice($mid,0,$lenL));		if($lenR>0) $node->rchild = buildTree(array_slice($pre,$lenL+1,$lenR),array_slice($mid,$lenL+1,$lenR));		return $node;	}		$mid = array(4,7,2,1,5,3,8,6);	$pre = array(1,2,4,7,3,5,6,8);	$node = buildTree($pre,$mid);	echo '
';	var_dump($node);	echo '
';

版权声明:本文为博主原创文章,未经博主允许不得转载。