ホームページ  >  記事  >  バックエンド開発  >  バイナリ ツリーが対称かどうかを判断する PHP メソッド

バイナリ ツリーが対称かどうかを判断する PHP メソッド

韦小宝
韦小宝オリジナル
2018-01-13 11:56:411221ブラウズ

この記事では主に、バイナリツリー内のノードを判断するphp再帰関連の操作スキルを含む、バイナリツリーが対称かどうかを判断するPHPの方法を紹介します。PHPに感謝している友人は、この記事を参照してください

。この記事では、PHP で二分木が対称かどうかを判定する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

質問

二分木が対称かどうかを判断する関数を実装してください。二分木のイメージと同じであれば、二分木は対称であると定義されることに注意してください。

解決策

二分木の両側を再帰的に判断します。

実装コード:

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

以上がこの記事の内容です。皆様の勉強のお役に立てれば幸いです! !

関連する推奨事項:

PHPメソッドのオーバーロードの2つのメソッドの比較例

PHPメソッド呼び出しモードと関数呼び出しモードの簡単な例

PHPメソッド追跡

以上がバイナリ ツリーが対称かどうかを判断する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。