本文實(shí)例講述了PHP實(shí)現(xiàn)判斷二叉樹是否對稱的方法。分享給大家供大家參考,具體如下:
問題
請實(shí)現(xiàn)一個(gè)函數(shù),用來判斷一顆二叉樹是不是對稱的。注意,如果一個(gè)二叉樹同此二叉樹的鏡像是同樣的,定義其為對稱的。
題解
遞歸判斷二叉樹兩側(cè)。
實(shí)現(xiàn)代碼:
?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);
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Python對稱的二叉樹多種思路實(shí)現(xiàn)方法
- java 對稱二叉樹的判斷