Home  >  Article  >  Backend Development  >  How to determine whether a binary tree is symmetrical in PHP

How to determine whether a binary tree is symmetrical in PHP

小云云
小云云Original
2018-01-13 11:25:151445browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn