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

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

jacklove
jackloveoriginal
2018-07-02 17:56:551397parcourir

Cet article présente principalement la méthode PHP pour déterminer si un arbre binaire est symétrique, et implique les compétences opérationnelles pertinentes pour la détermination des nœuds d'arbre binaire récursif PHP. Les amis dans le besoin peuvent s'y référer

L'exemple. de cet article indique l'implémentation PHP pour déterminer si un arbre binaire est une approche symétrique. Partagez-le avec tout le monde pour votre référence, comme suit :

Question

Veuillez implémenter une fonction pour déterminer si un arbre binaire est 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);
}

Vous pouvez Articles d'intérêt :

Un exemple de la façon dont PHP utilise une ligne de code pour supprimer tous les fichiers d'un répertoire

PHP obtient le premier message incorrect caractère dans le flux de caractères Une explication de la méthode de répétition des caractères

Une brève discussion des problèmes souvent rencontrés dans les entretiens d'inversion de chaîne 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