-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLeetcode100.java
39 lines (35 loc) · 1.12 KB
/
Leetcode100.java
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
28
29
30
31
32
33
34
35
36
37
38
39
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
//比较两个Tree是不是一样,用dfs比较,边遍历边比较,发现结构或者val不一样则返回false,遍历结束返回true
public boolean isSameTree(TreeNode p, TreeNode q) {
if (p == null && q == null)
return true;
else if (p == null || q == null)
return false;
else
return dfs(p, q);
}
public boolean dfs(TreeNode p, TreeNode q) {
if (p.left != null && q.left != null) {
if (!dfs(p.left, q.left))
return false;
} else if (p.left != null || q.left != null)
return false;
if (p.val != q.val)
return false;
if (p.right != null && q.right != null) {
if (!dfs(p.right, q.right))
return false;
} else if (p.right != null || q.right != null)
return false;
return true;
}
}