1
2
3
4
5
6
7
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if (p == null || q == null)
return p == q;
return p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
}

DFS就是. 想象走DFS的过程比假设递归函数的功能要好一些.

时间复杂度: O(n) 要遍历每一个node.
空间复杂度: O(n) 最坏情况是个链表.