您的位置:首页 > 其它

树——对称的二叉树

2016-05-11 16:34 357 查看
题目:判断一棵二叉树是否对称

判断两棵二叉树是否相同:

<pre name="code" class="java">public boolean isSameTree(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 isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
}


判断两棵二叉树是否对称;

<pre name="code" class="java"> boolean sym(TreeNode root1,TreeNode root2)
{
if(root1==null&&root2==null)
return true;
if(root1==null||root2==null)
return false;
if(root1.val!=root2.val)
return false;
return sym(root1.left,root2.right)&&sym(root1.right,root2.left);
}


判断一棵二叉树是否对称,若该二叉树自己和自己对称,则为对称二叉树;

public class Solution {
boolean isSymmetrical(TreeNode pRoot)
{

return sym(pRoot,pRoot);
}

boolean sym(TreeNode root1,TreeNode root2)
{
if(root1==null&&root2==null)
return true;
if(root1==null||root2==null)
return false;
if(root1.val!=root2.val)
return false;
return sym(root1.left,root2.right)&&sym(root1.right,root2.left);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: