Maison  >  Article  >  développement back-end  >  Méthode PHP pour déterminer si un arbre binaire est symétrique

Méthode PHP pour déterminer si un arbre binaire est symétrique

韦小宝
韦小宝original
2018-01-13 11:56:411221parcourir

Cet article présente principalement la méthode PHP pour déterminer si un arbre binaire est symétrique, impliquant des compétences opérationnelles liées à PHP récursive pour juger des nœuds dans un arbre binaire. Les amis qui sont reconnaissants envers PHP peuvent s'y référer. article

L'exemple de cet article décrit la méthode permettant de déterminer si un arbre binaire est symétrique en PHP. Partagez-le avec tout le monde pour votre référence, comme suit :

Question

Veuillez implémenter une fonction pour juger un Est cet arbre binaire symétrique ? Notez qu'un arbre binaire est défini comme symétrique s'il est identique à l'image de l'arbre binaire.

Solution

Jugez récursivement les deux côtés de l'arbre binaire.

Code d'implémentation :

<?php
/*class TreeNode{
 var $val;
 var $left = NULL;
 var $right = NULL;
 function construct($val){
  $this->val = $val;
 }
}*/
function isSymmetrical($pRoot)
{
 if($pRoot==null) return true;
 return compare($pRoot->left,$pRoot->right);
}
function compare($root1,$root2){
 if($root1==null&&$root2==null) return true;
 if($root1==null||$root2==null) return false;
 if($root1->val!=$root2->val) return false;
 return compare($root1->left,$root2->right)&&compare($root1->right,$root2->left);
}

Ce qui précède est tout le contenu de cet article. J’espère que cela sera utile à l’étude de chacun ! !

Recommandations associées :

Exemple de comparaison de deux méthodes de surcharge de méthode php

Un exemple simple de mode d'appel de méthode php et d'appel de fonction mode

Suivi de la méthode 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