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); }
Recommandations associées :
Explication détaillée de la méthode de définition de l'arbre binaire complet en 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!