自学内容网 自学内容网

126 对称的二叉树

问题描述:请实现一个函数,用来判断一颗二叉树是不是堆成的。如果一颗二叉树和他的镜像一样,那么他是对称的。
递归方法求解:

public Boolean isSym(TreeNode left,TreeNode right)
{
if(left==null&&right==null){return true;}
if(left!=null&&right==null){return false;}
if(left==null&&right!=null){return false;}
if(left.val!=right.val){return false;}
return isSym(left.left,right.right)&&isSum(left.right,right.left);
}
public Boolean IsSym(TreeNode root)
{
return isSym(root.left,root.right);
}

非递归的方式

public Boolean isSym(TreeNode root)
{
Queue<TreeNode>queue=new LinkedList<>();
queue.add(root.left);
queue.add(root.right);
while(!queue.isEmpty())
{
TreeNode left=queue.poll();
TreeNode right=queue.poll();
if(left!=null&&right==null){return false;}
if(left==null&&right!=null){return false;}
if(left.val!=right.val){return false;}
queue.add(left.left);
queue.add(right.right);
queue.add(left.right);
queue.add(right.left);
}
return true;
}


原文地址:https://blog.csdn.net/qq_52299902/article/details/135708913

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!