The given solution of the problem doesnt get passed

import java.util.*;
class LinkedList {

private class Node {

	int data;
	Node next;
}

private Node head;
private Node tail;
private int size;

public int getFirst() throws Exception {
	if (this.size == 0)
		throw new Exception("linked list is empty");

	return head.data;
}

public int getLast() throws Exception {
	if (this.size == 0)
		throw new Exception("linked list is empty");

	return tail.data;
}

public void addLast(int item) {
	// create a new node
	Node nn = new Node();

	nn.data = item;
	nn.next = null;

	// update summary
	if (size == 0) {
		this.head = nn;
		this.tail = nn;
		size++;
	} else

	{
		this.tail.next = nn;
		this.tail = nn;

		size++;
	}

}

public void addFirst(int item) {
	Node nn = new Node();
	nn.data = item;
	nn.next = null;

	if (size == 0) {
		this.head = nn;
		this.tail = nn;
		size++;
	} else {
		nn.next = this.head;
		this.head = nn;
		size++;
	}

}

public int removeFirst() throws Exception {
	Node fn = this.head;

	if (this.size == 0)
		throw new Exception("linked list is empty");

	if (this.size == 1) {
		this.head = null;
		this.tail = null;
		size = 0;
	} else {
		Node np1 = this.head.next;
		this.head = np1;
		size--;
	}

	return fn.data;
}

public void merge_sorted_list(LinkedList other) throws Exception {

	// write your code here
	Node l1=this.head;
	Node l2=other.head;
	Node l3=new Node();
	l3.data=0;
    Node l4=l3;
    while(true)
    {
        if(l1==null)
        {
            l4.next=l2;
            break;
        }
        if(l2==null)
        {
            l4.next=l1;
            break;
        }
        if(l1.data<=l2.data)
        {
            l4.next=l1;
            l1=l1.next;
        }else
        {
            l4.next=l2;
            l2=l2.next;
        }
        l4=l4.next;
    }
    this.head=l3.next;
	
}

public void display() {

	Node temp = this.head;

	while (temp != null) {
		System.out.print(temp.data + " ");
		temp = temp.next;
	}

}

}
public class Main{

static Scanner scn = new Scanner(System.in);

public static void main(String[] args) throws Exception {
	// TODO Auto-generated method stub
	
	    int t = scn.nextInt();
	    
	    while(t > 0){

		    LinkedList list1 = new LinkedList();
		    int n1 = scn.nextInt();
		 
		    for (int j = 0; j < n1; j++) {
			    int item = scn.nextInt();
			    list1.addLast(item);
		}

            LinkedList list2 = new LinkedList();
		    int n2 = scn.nextInt();
		 
		    for (int j = 0; j < n2; j++) {
			    int item = scn.nextInt();
			    list2.addLast(item);
		}
		   list1.merge_sorted_list(list2);
		   list1.display();

        t--;
        }
	
}

}

Hey @piyushabhiranjan30
logic is fine
Add new Line after each and every Test Case :
correct code :

import java.util.*;

class LinkedList {
private class Node {
int data;
Node next;
}

private Node head;
private Node tail;
private int size;

public int getFirst() throws Exception {
	if (this.size == 0)
		throw new Exception("linked list is empty");
	return head.data;
}

public int getLast() throws Exception {
	if (this.size == 0) {
		throw new Exception("linked list is empty");

	}
	return tail.data;
}

public void addLast(int item) {
	// create a new node
	Node nn = new Node();
	nn.data = item;
	nn.next = null;
	// update summary
	if (size == 0) {
		this.head = nn;
		this.tail = nn;
		size++;
	} else {
		this.tail.next = nn;
		this.tail = nn;
		size++;
	}
}

public void addFirst(int item) {
	Node nn = new Node();
	nn.data = item;
	nn.next = null;
	if (size == 0) {
		this.head = nn;
		this.tail = nn;
		size++;
	} else {
		nn.next = this.head;
		this.head = nn;
		size++;
	}
}

public int removeFirst() throws Exception {
	Node fn = this.head;
	if (this.size == 0)
		throw new Exception("linked list is empty");
	if (this.size == 1) {
		this.head = null;
		this.tail = null;
		size = 0;
	} else {
		Node np1 = this.head.next;
		this.head = np1;
		size--;
	}
	return fn.data;
}

public void merge_sorted_list(LinkedList other) throws Exception { // write your code here
	Node l1 = this.head;
	Node l2 = other.head;
	Node l3 = new Node();
	l3.data = 0;
	Node l4 = l3;
	while (true) {
		if (l1 == null) {
			l4.next = l2;
			break;
		}
		if (l2 == null) {
			l4.next = l1;
			break;
		}
		if (l1.data <= l2.data) {
			l4.next = l1;
			l1 = l1.next;
		} else {
			l4.next = l2;
			l2 = l2.next;
		}
		l4 = l4.next;
	}
	this.head = l3.next;
}

public void display() {
	Node temp = this.head;
	while (temp != null) {
		System.out.print(temp.data + " ");
		temp = temp.next;
	}
}

}

public class Main {
static Scanner scn = new Scanner(System.in);

public static void main(String[] args) throws Exception { // TODO Auto-generated method stub
	int t = scn.nextInt();
	while (t > 0) {
		LinkedList list1 = new LinkedList();
		int n1 = scn.nextInt();
		for (int j = 0; j < n1; j++) {
			int item = scn.nextInt();
			list1.addLast(item);
		}
		LinkedList list2 = new LinkedList();
		int n2 = scn.nextInt();
		for (int j = 0; j < n2; j++) {
			int item = scn.nextInt();
			list2.addLast(item);
		}
		list1.merge_sorted_list(list2);
		list1.display();

System.out.println(); // mera changes
t–;
}
}

}