import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param p TreeNode类 
     * @param q TreeNode类 
     * @return bool布尔型
     */
    public boolean isSameTree (TreeNode p, TreeNode q) {
        // write code here
        if(p == null && q == null){
            return true;
        }else if(q == null || p == null){
            return false;
        }else if(p.val == q.val && p.left.val == q.left.val && p.right.val == q.right.val){
            return true;
        }else return false;
    }
}

针对这道题我们可以分三种情况判断,判断是否都为空(true),判断是否其中一方为空(false),是否都不为空,第三种情况时我们就需要分别对树的左右叶子节点进行判断当都相等是为True,否则为False;