993. Cousins in Binary Tree
class Solution {
public boolean isCousins(TreeNode root, int x, int y) {
return dfs(root,x,y);
}
public boolean dfs(TreeNode root,int x,int y){
if(root==null){
return false;
}
Queue<TreeNode>queue=new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()){
List<Integer>list=new ArrayList<>();
int size=0;
size=queue.size();
System.out.print("size:"+size+" ");
for(int i=0;i<size;i++){
TreeNode treeNode=queue.poll();
if(treeNode.left!=null&&treeNode.right!=null){
if(treeNode.left.val==x&&treeNode.right.val==y){
return false;
}
if(treeNode.right.val==x&&treeNode.left.val==y){
return false;
}
}
list.add(treeNode.val);
if(treeNode.left!=null){
queue.offer(treeNode.left);
}
if(treeNode.right!=null){
queue.offer(treeNode.right);
}
}
for(int i=0;i<list.size();i++){
System.out.print(list+" ");
}
if(list.contains(x)&&list.contains(y)){
return true;
}
}
return false;
}
}