(牛客网—牛客题霸算法篇—NC16)
题目描述给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)
思路Java实现
构建递归函数:
定义函数功能:判断左右两个结点是否对称相等
递归终止条件:没有子节点,说明当前结点是叶子结点
没有右子节点(因为是按从左到右的顺序比较的)
左右结点不对称
public class Solution {
boolean isSymmetrical(TreeNode pRoot) {
if(pRoot==null){
return true;
}
return isSame(pRoot.left,pRoot.right);
}
private boolean isSame(TreeNode root1,TreeNode root2){
if(root1==null){
return root2==null;
}
if(root2==null){
return root1==null;
}
if(root1.val!=root2.val){
return false;
}
return isSame(root1.left,root2.right)&&isSame(root1.right,root2.left);
}
}



