加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php实现镜像二叉树的思路及代码 - 源码分享

发布时间:2020-05-25 02:43:37 所属栏目:PHP 来源:互联网
导读:本文章向大家介绍[PHP] 算法-镜像二叉树的PHP实现,需要的朋友可以参考一下

操作给定的二叉树,将其变换为源二叉树的镜像。

二叉树的镜像定义:源二叉树

8

/

6 10

/ /

5 7 9 11

镜像二叉树

8

/

10 6

/ /

11 9 7 5

思路:

1.左子树赋给temp

2.temp赋给右子树

3.右子树赋给左子树

4.递归

mirror(root)

temp=root->left

root->left=root->right

root-right=temp

mirror(root->left)

mirror(root->right)

class TreeNode{

var $val;

var $left = NULL;

var $right = NULL;

function __construct($val){

$this->val = $val;

}

}

function Mirror(&$root){

if($root==null){

return null;

}

$temp=$root->left;

$root->left=$root->right;

$root->right=$temp;

Mirror($root->left);

Mirror($root->right);

}

//构造一个树

$node5=new TreeNode(5);

$node7=new TreeNode(7);

$node9=new TreeNode(9);

$node11=new TreeNode(11);

$node6=new TreeNode(6);

$node10=new TreeNode(10);

$node8=new TreeNode(8);

$node8->left=$node6;

$node8->right=$node10;

$node6->left=$node5;

$node6->right=$node7;

$node10->left=$node9;

$node10->right=$node11;

$tree=$node8;

//镜像这棵二叉树

var_dump($tree);

Mirror($tree);

var_dump($tree);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读