Same Tree
问题:
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
思路:
递归
我的方法:
public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p == null && q == null) return true ; else if(p == null && q != null) return false ; else if(p != null && q == null) return false ; else return (p.val == q.val) && isSameTree(p.left, q.left) && isSameTree(p.right, q.right) ; } }
别人方法:
public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if (p == null && q == null) return true; if (p == null || q == null || p.val != q.val) return false; return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); } }
public boolean sameTree(TreeNode one , TreeNode another){
if(null==one && null==another) return true;
if(null==one || null==another) return false;
return one.val==another.val && sameTree(one.left,another.left) && sameTree(one.right,another.right);
}