Untitled
unknown
plain_text
a year ago
2.1 kB
13
Indexable
import java.util.*;
class Solution {
public boolean isSymmetric(TreeNode root) {
Queue<Pair<Integer,TreeNode>> queue = new LinkedList<>();
List<Integer> list = new ArrayList<>();
List<List<Integer>> listoflist = new ArrayList<>();
Pair<Integer,TreeNode> p = new Pair(1,root);
queue.add(p);
while(!queue.isEmpty()){
Pair<Integer,TreeNode> pair = queue.remove();
TreeNode b = null;
int temp = 0;
if(pair!=null){
b= pair.getValue();
temp = pair.getKey();
}
if(b!=null){
list.add(b.val);
}
if(b!=null && b.left !=null){
Pair<Integer,TreeNode> p1 = new Pair(temp+1,b.left);
queue.add(p1);
}
else if (b!=null){
queue.add(null);
}
if(b!=null && b.right !=null){
Pair<Integer,TreeNode> p1 = new Pair(temp+1,b.right);
queue.add(p1);
}
else if (b!=null){
queue.add(null);
}
if(listoflist.size()<temp){
listoflist.add(new ArrayList<>());
}
List<Integer> result = new ArrayList<>();
if(b!=null){
result = listoflist.get(temp-1);
result.add(b.val);
}
}
int n = listoflist.size();
for(int i = 0; i<n ; i++){
List<Integer> element = listoflist.get(i);
List<Integer> l1 = new ArrayList(element);
Collections.reverse(element);
List<Integer> l2 = new ArrayList(element);
if(!(l1.equals(l2))){
return false;
}
}
return true;
}
}Editor is loading...
Leave a Comment