Maison >développement back-end >tutoriel php >Explication de la façon d'obtenir une image d'arbre binaire en PHP

Explication de la façon d'obtenir une image d'arbre binaire en PHP

jacklove
jackloveoriginal
2018-06-30 17:48:191588parcourir

Cet article présente principalement la méthode PHP pour obtenir l'image de l'arbre binaire, impliquant les compétences opérationnelles associées de PHP utilisant la file d'attente pour retourner l'arbre binaire. Les amis dans le besoin peuvent s'y référer

L'exemple de ceci. L'article indique la méthode de PHP pour obtenir la méthode de l'image de l'arbre binaire. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Problème

Exploiter l'arbre binaire donné et le transformer en miroir de l’arbre binaire source.

Solution

Il existe deux façons de retourner l'arbre binaire, récursive et non récursive : utiliser une file d'attente.

Code de mise en œuvre

<?php
/*class TreeNode{
 var $val;
 var $left = NULL;
 var $right = NULL;
 function __construct($val){
  $this->val = $val;
 }
}*/
function Mirror(&$root)
{
 if($root == NULL)
  return 0;
 $queue = array();
 array_push($queue, $root);
 while(!empty($queue)){
  $node = array_shift($queue);
  $tmp = $node->left;
  $node->left = $node->right;
  $node->right = $tmp;
  if($node->left != NULL)
   array_push($queue, $node->left);
  if($node->right != NULL)
   array_push($queue, $node->right);
 }
}

Vous pourriez ressentir Articles d'intérêt :

Explication de la méthode PHP pour obtenir le K-ème nœud à partir du dernier dans une liste chaînée

Méthode d'impression de PHP un arbre binaire de haut en bas Expliquez

méthode php d'envoi de données personnalisées via les compétences header_php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn