php如何实现镜像二叉树(代码)

首页 编程分享 PHP丨JAVA丨OTHER 正文

不言 转载 编程分享 2019-03-24 06:01:58

简介 的内容是关于php如何实现镜像二叉树(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。​


本篇文章给大家带来的内容是关于php如何实现镜像二叉树(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

镜像二叉树

思路:
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);

object(TreeNode)Id7 (3) {
  ["val"]=>
  int(8)
  ["left"]=>
  object(TreeNode)Id5 (3) {
    ["val"]=>
    int(6)
    ["left"]=>
    object(TreeNode)Id1 (3) {
      ["val"]=>
      int(5)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)Id2 (3) {
      ["val"]=>
      int(7)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  ["right"]=>
  object(TreeNode)Id6 (3) {
    ["val"]=>
    int(10)
    ["left"]=>
    object(TreeNode)Id3 (3) {
      ["val"]=>
      int(9)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)Id4 (3) {
      ["val"]=>
      int(11)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  
object(TreeNode)Id7 (3) {
  ["val"]=>
  int(8)
  ["left"]=>
  object(TreeNode)Id6 (3) {
    ["val"]=>
    int(10)
    ["left"]=>
    object(TreeNode)Id4 (3) {
      ["val"]=>
      int(11)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)Id3 (3) {
      ["val"]=>
      int(9)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  ["right"]=>
  object(TreeNode)Id5 (3) {
    ["val"]=>
    int(6)
    ["left"]=>
    object(TreeNode)Id2 (3) {
      ["val"]=>
      int(7)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)Id1 (3) {
      ["val"]=>
      int(5)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
}

转载链接:http://www.php.cn//php-weizijiaocheng-411135.html


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云