Java: Merge two given sorted lists
Java Basic: Exercise-143 with Solution
Merge Two Sorted Linked Lists
Write a Java program to merge the two sorted linked lists.
Sample Solution:
Java Code:
import java.util.*
public class Solution {
public static void main(String[] args) {
// Create two sorted linked lists
ListNode list1 = new ListNode(1);
list1.next = new ListNode(3);
list1.next.next = new ListNode(7);
list1.next.next.next = new ListNode(9);
list1.next.next.next.next = new ListNode(13);
ListNode list2 = new ListNode(2);
list2.next = new ListNode(40);
// Merge the two sorted lists and get the result
ListNode head = mergeTwoLists(list1, list2);
System.out.print("Merge Two Sorted Lists:\n");
// Print the merged list
while (head != null) {
System.out.print(head.val + " ");
head = head.next;
}
}
public static ListNode mergeTwoLists(ListNode list1, ListNode list2) {
// Create a new linked list for the merged result
ListNode head = new ListNode(0);
ListNode mlist = head;
// Merge the two lists while maintaining the order
while (list1 != null && list2 != null) {
if (list1.val < list2.val) {
mlist.next = new ListNode(list1.val);
mlist = mlist.next;
list1 = list1.next;
} else {
mlist.next = new ListNode(list2.val);
mlist = mlist.next;
list2 = list2.next;
}
}
// Append any remaining elements from list1
while (list1 != null) {
mlist.next = new ListNode(list1.val);
mlist = mlist.next;
list1 = list1.next;
}
// Append any remaining elements from list2
while (list2 != null) {
mlist.next = new ListNode(list2.val);
mlist = mlist.next;
list2 = list2.next;
}
// Skip the dummy head node and return the merged list
head = head.next;
return head;
}
}
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
Sample Output:
Merge Two Sorted ListsT: 1 2 3 7 9 13 40
Flowchart:
Java Code Editor:
Company: Microsoft Apple LinkedIn Amazon
Previous: Write a Java program to check if two given strings are anagrams or not.
Next: Write a Java program to remove all occurrences of a specified value in a given array of integers and return the new length of the array.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/java-exercises/basic/java-basic-exercise-143.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics