Home >Backend Development >PHP Tutorial >How to determine whether a binary tree is symmetrical in PHP
This article mainly introduces the method of judging whether a binary tree is symmetrical in PHP, and involves the related operating skills of judging nodes in PHP recursive binary trees. Friends who need it can refer to it. I hope it can help everyone.
Question
Please implement a function to determine whether a binary tree is symmetrical. Note that a binary tree is defined as symmetric if it is the same as the image of the binary tree.
Solution
Recursively judge both sides of the binary tree.
Implementation code:
##
<?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); }Related recommendations:
JavaScript Implement pre-order, in-order and post-order traversal methods of binary trees
Detailed explanation of the definition method of complete binary trees in php
js Implement data structures: trees and binary trees, binary tree traversal and basic operation methods
The above is the detailed content of How to determine whether a binary tree is symmetrical in PHP. For more information, please follow other related articles on the PHP Chinese website!