leetcode_101対称ツリー
問題解
二叉木を指定し、ミラー対称であるかどうかを確認します.
例えば、二叉木[1,2,2,3,4,4,3]は対称である.
1
/ \
2 2
/ \ / \
3 4 4 3
しかし、以下の[1,2,2,null,3,null,3]はミラー対称ではありません.
1
/ \
2 2
\ \
3 3
問題:
class Solution {
public boolean isSymmetric(TreeNode root) {
if(root == null){
return true;
}
return symmetric(root.left, root.right);
}
private boolean symmetric(TreeNode p, TreeNode q){
if(p== null && q == null){
return true;
}
if( p == null || q== null){
return false;
}
if(p.val != q.val){
return false;
}
return symmetric(p.left, q.right) && symmetric(p.right,q.left);
}