請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),,用來判斷一棵二叉樹是不是對(duì)稱的,。注意,,如果一個(gè)二叉樹同此二叉樹的鏡像是同樣的,定義其為對(duì)稱的
解題思路
最簡(jiǎn)單的方法就是使用遞歸,,只要每一個(gè)結(jié)點(diǎn)的左右子結(jié)點(diǎn)(子樹)都相等,,那么自然二叉樹就是對(duì)稱的。只要有一個(gè)不相等,,那就返回 false,,沒有必要再遞歸下去了
public class Solution {
boolean isSymmetrical(TreeNode pRoot) {
if(pRoot == null) {
return true;
}
return isEqual(pRoot.left, pRoot.right);
}
boolean isEqual(TreeNode node1, TreeNode node2) {
if(node1 == null && node2 == null) {
return true;
}
if(node1 != null && node2 != null && node1.val == node2.val) {
return isEqual(node1.left, node2.right) && isEqual(node1.right, node2.left);
}
return false;
}
}
|