/**
* Definition for a binary tree node.
* 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.val==q.val)
return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
else
return false;
}
}
判断两个二进制树是否相同(树节点总数相同,树结构相同)
通过迭代的方式解决:
遍历:依次遍历树的节点的左右节点
出口:树最终的树叶节点会没有左右节点,这样树叶节点必定满足 p==null&&q==null
迭代的关键在于要有出口。