1. 相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:true
示例 2:

输入:p = [1,2], q = [1,null,2]
输出:false
示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:false

思路:

  • 排除特殊情况,进行DFS
    1. class Solution {
    2. public boolean isSameTree(TreeNode p, TreeNode q) {
    3. // 递归就可
    4. if(p==null&&q==null){
    5. return true;
    6. }else if(p==null||q==null){
    7. return false;
    8. }else if(p.val!=q.val){
    9. return false;
    10. }else{
    11. return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
    12. }
    13. }
    14. }