class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
return dfs(p, q);
}
private boolean dfs(TreeNode first, TreeNode second){
// preorder
if(first == null || second == null){
return first==second;
}
if (first.val!=second.val) return false;
if(dfs(first.left, second.left)){
return dfs(first.right, second.right);
}else{
return false;
}
}
}