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.
很简单的,遍历一次就可以知道是否是相等树了,可以变成迭代法,效率会快点。
和Symmetric Tree基本是一样的。
/** * 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){ return false; } if(p != null && q == null){ return false; } if(p.val == q.val){ if(!isSameTree(p.left,q.left)){ return false; } if(!isSameTree(p.right,q.right)){ return false; } return true; }else{ return false; } } }
原文地址:http://blog.csdn.net/havedream_one/article/details/44917405