T101. Symmetric Tree【Easy】
題目
給一個(gè)二叉樹(shù)球匕,確認(rèn)這個(gè)是不是自己的鏡像(即圍繞其中心對(duì)稱)
例如茴晋,下面這個(gè)二叉樹(shù) [1,2,2,3,4,4,3] 是對(duì)稱的:
1
/ \
2 2
/ \ / \
3 4 4 3
但是 [1,2,2,null,3,null,3]
1
/ \
2 2
\ \
3 3
注意: 如果用遞歸和迭代解決更好
思路
遞歸向下遍歷诱建,如果有錯(cuò)返回 false,如果沒(méi)有就返回 true.
代碼
代碼取自 Top Solution直晨,稍作注釋
public boolean isSymmetric(TreeNode root) {
boolean b=true;
if (root==null) return true;
b=isSymmetric(root.left, root.right);
return b;
}
boolean isSymmetric(TreeNode left, TreeNode right) {
if (left==null && right==null) return true;
// 若不對(duì)稱泉粉,則返回 false
if (left ==null|| right==null) return false;
// 比較左右節(jié)點(diǎn)以及左右節(jié)點(diǎn)的兩個(gè)節(jié)點(diǎn)是否對(duì)稱,然后返回
return left.val == right.val && isSymmetric(left.left, right.right)&& isSymmetric(left.right, right.left);
}