100. 相同的树

难度: 简单




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isSameTree(p *TreeNode, q *TreeNode) bool {

if p == nil && q == nil {
return true
}

//已经判断过了两个二叉树全为nil,并已经返回;
//所以此处但凡满足条件,即只要有一个是nil,另一个一定不会是nil
if p == nil || q == nil {
return false
}

if p.Val != q.Val {
return false
}

return isSameTree(p.Left,q.Left) && isSameTree(p.Right,q.Right)

}