Maison > développement back-end > tutoriel php > Comment déterminer si un arbre binaire est symétrique en PHP

Comment déterminer si un arbre binaire est symétrique en PHP

小云云
Libérer: 2023-03-19 14:14:02
original
1485 Les gens l'ont consulté

Cet article présente principalement la méthode permettant de juger si un arbre binaire est symétrique en PHP et implique les compétences opérationnelles associées pour juger des nœuds dans les arbres binaires récursifs PHP. Les amis qui en ont besoin pourront s'y référer. .

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);
}
Copier après la connexion

Recommandations associées :

JavaScript implémente des méthodes de parcours de pré-ordre, dans l'ordre et après-ordre des arbres binaires

Explication détaillée de la méthode de définition de l'arbre binaire complet en php

Structure des données d'implémentation JS : arbre et arbre binaire, traversée d'arbre binaire et méthodes de fonctionnement de base

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal