LeetCode 21: Merge Two Sorted Lists Link to Problem Solution /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode current = new ListNode(); ListNode list3 = current; while (list1 != null && list2 != null) { if (list1.val <= list2.val) { current.next = list1; list1 = list1.next; current = current.next; } else { current.next = list2; list2 = list2.next; current = current.next; } } if (list1 == null) { current.next = list2; } else if (list2 == null) { current.next = list1; } return list3.next; } }