101. 对称二叉树
Posted 潜行前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) {
return helper(new TreeNode[]{root.left,root.right});
}
public boolean helper(TreeNode[] arr) {
int len = arr.length;
int len2 = arr.length * 2;
TreeNode[] newArr = new TreeNode[len2];
int flag = 0;
for(int i=0;i<len/2;i++){
if(arr[i] == arr[len-i-1] && arr[i] == null){
newArr[i*2] = newArr[i*2+1] = newArr[(len-i-1)*2] = newArr[(len-i-1)*2 +1] = null;
continue;
}
flag = 1;
if(arr[i]!=null && arr[len-i-1]!=null){
if(arr[i].val == arr[len-i-1].val){
newArr[i*2] = arr[i].left;
newArr[i*2+1] = arr[i].right;
newArr[(len-i-1)*2] = arr[len-i-1].left;
newArr[(len-i-1)*2 +1] = arr[len-i-1].right;
continue;
}
}
return false;
}
return flag == 0 ? true : helper(newArr);
}
}
以上是关于101. 对称二叉树的主要内容,如果未能解决你的问题,请参考以下文章
2021-10-05:对称二叉树。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。力扣101。