Skip to content

Commit ebf8283

Browse files
committed
Add Solution3.java to problems 0101
1 parent c30eaa5 commit ebf8283

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* public class TreeNode {
4+
* int val;
5+
* TreeNode left;
6+
* TreeNode right;
7+
* TreeNode(int x) { val = x; }
8+
* }
9+
*/
10+
import java.util.*;
11+
12+
class Solution {
13+
public boolean isSymmetric(TreeNode root) {
14+
if (root == null) return true;
15+
LinkedList<TreeNode> queueA = new LinkedList<>();
16+
LinkedList<TreeNode> queueB = new LinkedList<>();
17+
queueA.addLast(root);
18+
queueB.addLast(root);
19+
while (!queueA.isEmpty() && !queueB.isEmpty()) {
20+
TreeNode popA = queueA.pollFirst();
21+
TreeNode popB = queueB.pollFirst();
22+
if (popA == null && popB == null) continue;
23+
if (popA == null || popB == null) return false;
24+
25+
if (popA.val != popB.val) return false;
26+
queueA.addLast(popA.left);
27+
queueA.addLast(popA.right);
28+
29+
queueB.addLast(popB.right);
30+
queueB.addLast(popB.left);
31+
}
32+
return queueA.isEmpty() && queueB.isEmpty();
33+
}
34+
}

0 commit comments

Comments
 (0)