美文网首页
二叉树重建

二叉树重建

作者: followyounger1 | 来源:发表于2017-07-05 13:56 被阅读9次
    function reConstructBinaryTree($pre, $vin)
    {
      // write code here
      return build($pre,$vin,0,count($pre)-1,0,count($vin)-1);
    }
    function build($pre,$inorder,$pstart,$pend,$istart,$iend){
          if($pstart>$pend||$istart>$iend)
            return;
        $root=$pre[$pstart];
          for($find=$istart;$find<=$iend;$find++){
            if($root===$inorder[$find]){
            break;
            }
    }
    $len=$find-$istart;
    $res=new TreeNode($inorder[$find]);
    $res->left=build($pre,$inorder,$pstart+1,$pstart+$len,$istart,$find-1);
    $res->right=build($pre,$inorder,$pstart+$len+1,$pend,$find+1,count($inorder)-1);
    return $res;
    }

    相关文章

      网友评论

          本文标题:二叉树重建

          本文链接:https://www.haomeiwen.com/subject/rghqhxtx.html