Skip to content

Commit e14b2c3

Browse files
authored
Create 湛江甲鸟.md
1 parent 00082af commit e14b2c3

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#### 递归
2+
```
3+
public boolean isSymmetric(TreeNode root) {
4+
if (root == null)
5+
return true;
6+
return dfs(root.left, root.right);
7+
}
8+
9+
private boolean dfs(TreeNode node1, TreeNode node2) {
10+
if ((node1 == null && node2 == null)) {
11+
return true;
12+
} else if (node1 != null && node2 != null) {
13+
if (node1.val != node2.val) {
14+
return false;
15+
}
16+
} else {
17+
return false;
18+
}
19+
return dfs(node1.left, node2.right) && dfs(node1.right, node2.left);
20+
}
21+
```
22+
23+
#### 非递归
24+
```
25+
public boolean isSymmetric(TreeNode root) {
26+
Queue<TreeNode> q = new LinkedList<>();
27+
q.add(root);
28+
q.add(root);
29+
while (!q.isEmpty()) {
30+
TreeNode t1 = q.poll();
31+
TreeNode t2 = q.poll();
32+
if (t1 == null && t2 == null) {
33+
continue;
34+
}
35+
if (t1 == null || t2 == null || t1.val != t2.val) {
36+
return false;
37+
}
38+
q.add(t1.left);
39+
q.add(t2.right);
40+
q.add(t1.right);
41+
q.add(t2.left);
42+
}
43+
return true;
44+
}
45+
```

0 commit comments

Comments
 (0)