Skip to content

Commit f500b9d

Browse files
committed
same-tree solution
1 parent 366f453 commit f500b9d

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

same-tree/chjung99.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import java.util.*;
2+
3+
/**
4+
* Definition for a binary tree node.
5+
* public class TreeNode {
6+
* int val;
7+
* TreeNode left;
8+
* TreeNode right;
9+
* TreeNode() {}
10+
* TreeNode(int val) { this.val = val; }
11+
* TreeNode(int val, TreeNode left, TreeNode right) {
12+
* this.val = val;
13+
* this.left = left;
14+
* this.right = right;
15+
* }
16+
* }
17+
*/
18+
class Solution {
19+
final int NULL_MARKER = Integer.MIN_VALUE;
20+
public boolean isSameTree(TreeNode p, TreeNode q) {
21+
Queue<Integer> OrderP = new ArrayDeque<>();
22+
Queue<Integer> OrderQ = new ArrayDeque<>();
23+
trevasalTree(p, OrderP);
24+
trevasalTree(q, OrderQ);
25+
26+
if (OrderP.size() != OrderQ.size()) return false;
27+
28+
while (!OrderP.isEmpty() && !OrderQ.isEmpty()){
29+
Integer a = OrderP.poll();
30+
Integer b = OrderQ.poll();
31+
if (!a.equals(b)) return false;
32+
}
33+
34+
return OrderP.isEmpty() && OrderQ.isEmpty();
35+
}
36+
public void trevasalTree(TreeNode t, Queue<Integer> queue){
37+
// System.out.print(t.val+ " ");
38+
if (t == null){
39+
queue.add(NULL_MARKER);
40+
return;
41+
}
42+
queue.add(t.val);
43+
trevasalTree(t.left, queue);
44+
trevasalTree(t.right, queue);
45+
46+
}
47+
}
48+

0 commit comments

Comments
 (0)