Delete node ques in Binary tree module

import java.util.Scanner;
public class Main {
static Scanner s = new Scanner(System.in);

class Node{
	int data;
	Node left;
	Node right;
	
	Node(int item,Node l,Node r){
		this.data=item;
		this.left=l;
		this.right=r;
	}
	
}
Node root;
int size;
Main(int [] arr){
	this.root=new Node(arr[0],null,null);
	for(int i=1;i<arr.length;i++)
		add(this.root,arr[i]);
}
private void add(Node node,int data) {

	if(data<node.data) {
		if(node.left==null)
			node.left=new Node(data,null,null);
		else
			add(node.left,data);
	}
	else
		if(data>node.data)
		{
			if(node.right==null)
				node.right=new Node(data,null,null);
			else
				add(node.right,data);
		}
		else {
			
		}
}
public void deletenode(int data) {
	this.root=deletenode(this.root,data);
}
private Node deletenode(Node node,int data) {
	if(node.data>data) {
		node.left=deletenode(node.left,data);
		return node;
	}
	else if(node.data<data) {
		node.right=deletenode(node.right,data);
		return node;
	}
	else {
		if(node.left==null && node.right==null)
			return null;
		else
			if(node.right==null)
				return node.left;
			else 
				if(node.left==null)
					return node.right;
				else {
					int rmin=min(node.right);
					node.data=rmin;
					node.right=deletenode(node.right,rmin);
					return node;
				}
	}
}

public int min(Node node) {
	int m= node.data;
	if(node.left!=null)
		m=min(node.left);
	return m;
}

public void display() {
	display(this.root);
}
private void display(Node node) {
	if(node == null)
		return;
	System.out.print(node.data+" ");
	display(node.left);
	display(node.right);
}

public static void main(String[] args) {
	int t =s.nextInt();
	while(t>0) {
		int n = s.nextInt();
		int [] a1= new int[n];
		for(int i=0;i<n;i++)
			a1[i]=s.nextInt();
		Main tree = new Main(a1);
		int k =s.nextInt();
		int [] a2=new int[k];
		for(int i=0;i<k;i++)
			a2[i]=s.nextInt();
		for(int i=0;i<k;i++)
			tree.deletenode(a2[i]);
		tree.display();
		System.out.println();
		t--;
	}

}

}

failing testcases but output is correct

Hey @kunalmalghani
code is fine Just a change
in deletenode fun
add one more base case
if(node==null) {
return node;
}
correct code :