/** * Definition for singly - linked list. * public class ListNode { * int val ; * ListNode next; * ListNode( int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2 ) { ListNode first= new ListNode(0);//結果鏈表 ListNode l= first; while (l1 != null|| l2!= null){ ListNode t= new ListNode(0); if (l1 == null){ //若是l1鏈表到結尾,則把另外一個鏈表以此複製到結果鏈表 t.val= l2.val; l2= l2.next; } else if (l2 == null){ //若是l2鏈表到結尾,則把另外一個鏈表以此複製到結果鏈表 t.val= l1.val; l1= l1.next; } else if (l1 .val<l2 .val){//把兩個指針對應的值小的元素的節點加入結果鏈表 t.val= l1.val; l1= l1.next; } else { //把兩個指針對應的值小的元素的節點加入結果鏈表 t.val= l2.val; l2= l2.next; } l.next= t; l= t; } return first .next; } }