问题描述: java代码: /** * 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 res = new ListNode(0); ListNode cur = res; while(list1 != null || list2 != null){ if(list1 != null && list2 != null){ if (list1.val == list2.val){ cur.next = new ListNode(list1.val); cur = cur.next; cur.next = new ListNode(list2.val); list1 = list1.next; list2 = list2.next; }else{ if(list1.val>list2.val){ cur.next = new ListNode(list2.val); list2 = list2.next; }else{ cur.next = new ListNode(list1.val); list1 = list1.next; } } }else if(list1 != null){ cur.next = new ListNode(list1.val); list1 = list1.next; }else if(list2 != null){ cur.next = new ListNode(list2.val); list2 = list2.next; } cur = cur.next; } return res.next; } }