>백엔드 개발 >PHP 튜토리얼 >PHP에서 이진 트리가 대칭인지 확인하는 방법

PHP에서 이진 트리가 대칭인지 확인하는 방법

小云云
小云云원래의
2018-01-13 11:25:151460검색

이 글은 주로 PHP에서 이진 트리가 대칭인지 판단하는 방법을 소개하고, PHP 재귀 이진 트리 판단 노드의 관련 조작 기술을 포함하고 있어 모두에게 도움이 되기를 바랍니다.

Question

이진 트리가 대칭인지 확인하는 함수를 구현해 주세요. 이진 트리는 이진 트리의 이미지와 동일하면 대칭 트리로 정의됩니다.

Solution

이진 트리의 양쪽을 재귀적으로 판단합니다.

구현 코드:


<?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);
}

관련 권장 사항:

JavaScript는 이진 트리의 선순, 순순 및 후순 순회 방법을 구현합니다.

정의 방법에 대한 자세한 설명 PHP
의 완전한 이진 트리

JS는 트리 및 이진 트리, 이진 트리 순회 및 기본 작업 방법과 같은 데이터 구조를 구현합니다

위 내용은 PHP에서 이진 트리가 대칭인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.