この記事では、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); }
関連推奨事項:
JavaScriptは二分木の事前順序、順序内、事後探索メソッドを実装します
JS はデータ構造を実装します: ツリーとバイナリ ツリー、バイナリ ツリーのトラバーサルと基本的な操作メソッド
以上がPHP でバイナリ ツリーが対称かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。