public boolean visit(TreeNode p, TreeNode q){
        if(p == null && q == null) return true;
        else if(p != null && q != null){
            if(p.val != q.val) return false;
            else return (visit(p.left, q.left) && visit(p.right, q.right));
        } else return false;
    }