溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP怎么實(shí)現(xiàn)鏡像二叉樹

發(fā)布時(shí)間:2021-09-03 22:22:06 來源:億速云 閱讀:130 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要介紹“PHP怎么實(shí)現(xiàn)鏡像二叉樹”,在日常操作中,相信很多人在PHP怎么實(shí)現(xiàn)鏡像二叉樹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”PHP怎么實(shí)現(xiàn)鏡像二叉樹”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

操作給定的二叉樹,將其變換為源二叉樹的鏡像。 
二叉樹的鏡像定義:源二叉樹 
           /  \
  10
         / \  / \
 7 9 11
        鏡像二叉樹
           /  \
  6
         / \  / \
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);
}

//構(gòu)造一個(gè)樹
$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)#7 (3) {
  ["val"]=>
  int(8)
  ["left"]=>
  object(TreeNode)#5 (3) {
    ["val"]=>
    int(6)
    ["left"]=>
    object(TreeNode)#1 (3) {
      ["val"]=>
      int(5)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)#2 (3) {
      ["val"]=>
      int(7)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  ["right"]=>
  object(TreeNode)#6 (3) {
    ["val"]=>
    int(10)
    ["left"]=>
    object(TreeNode)#3 (3) {
      ["val"]=>
      int(9)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)#4 (3) {
      ["val"]=>
      int(11)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  
object(TreeNode)#7 (3) {
  ["val"]=>
  int(8)
  ["left"]=>
  object(TreeNode)#6 (3) {
    ["val"]=>
    int(10)
    ["left"]=>
    object(TreeNode)#4 (3) {
      ["val"]=>
      int(11)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)#3 (3) {
      ["val"]=>
      int(9)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  ["right"]=>
  object(TreeNode)#5 (3) {
    ["val"]=>
    int(6)
    ["left"]=>
    object(TreeNode)#2 (3) {
      ["val"]=>
      int(7)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
    ["right"]=>
    object(TreeNode)#1 (3) {
      ["val"]=>
      int(5)
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
}

到此,關(guān)于“PHP怎么實(shí)現(xiàn)鏡像二叉樹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI