ホームページ >バックエンド開発 >PHPチュートリアル >バイナリツリーが対称かどうかを判断するためのPHP実装方法

バイナリツリーが対称かどうかを判断するためのPHP実装方法

jacklove
jackloveオリジナル
2018-07-02 17:56:551419ブラウズ

この記事では、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 が 1 行のコードを使用してディレクトリ内のすべてのファイルを削除する方法の例


PHP が最初の非反復文字を取得する文字ストリーム内でのメソッドの説明


#PHP 文字列反転インタビューでよく遭遇する問題についての簡単な説明


#

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

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