微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐