/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if (list1 == null && list2 != null) { return list2; } if (list1 != null && list2 == null) { return list1; } ListNode head = new ListNode(-1); head.next = null; ListNode tempHead = head; ListNode node1 = list1; ListNode node2 = list2; while (node1 != null && node2 != null) { if (node1.val < node2.val) { tempHead.next = node1; tempHead = node1; node1 = node1.next; } else { tempHead.next = node2; tempHead = node2; node2 = node2.next; } } if (node1 != null) { tempHead.next = node1; } if (node2 != null) { tempHead.next = node2; } return head.next; } }