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.
分析:
判断两个二叉树是否相等。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p==null&&q==null) return true; if(p==null&&q!=null||p!=null&&q==null) return false; return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right)&&(p.val==q.val); } }
最后一句分开写的话:
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { boolean left; boolean right; if(p==null&&q==null) return true; if(p==null&&q!=null||p!=null&&q==null) return false; if(p.val==q.val){ left = isSameTree(p.left,q.left); right = isSameTree(p.right,q.right); }else{ return false; } return left&&right; } }