《劍指offer》刷題筆記舶沿。如有更好解法,歡迎留言溯捆。
關(guān)鍵字:樹
深度優(yōu)先遍歷
題目描述:
請實(shí)現(xiàn)一個(gè)函數(shù)丑搔,用來判斷一顆二叉樹是不是對稱的。注意,如果一個(gè)二叉樹同此二叉樹的鏡像是同樣的啤月,定義其為對稱的煮仇。
思路:
- 簡單暴力的方法就是生成鏡像樹,再比較顽冶。
- 這里直接遞歸遍歷欺抗,比較左子樹的左節(jié)點(diǎn)與右子樹的右節(jié)點(diǎn),還有左子樹的右節(jié)點(diǎn)與右子樹的左節(jié)點(diǎn)强重。
function isSymmetrical(pRoot)
{
if(!pRoot){
return true;
}
function dfs(left,right){
if(left === null && right === null){
return true;
}
if(left !== null && right !== null && left.val === right.val){
return dfs(left.left,right.right)&&dfs(left.right,right.left);
}
return false;
}
return dfs(pRoot.left,pRoot.right);
}