Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
题目描写叙述:
类似曾经C语言做的输入两个链表。依照顺序大小将其连接。
只是这次试着用JAVA做。思路还是一样。
代码:
/** * 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 head; if(l1==null) //推断是否有一个串是空串 return l2; else if(l2==null) return l1; if(l1.val<l2.val){ //推断第一个结点 head = l1; l1=l1.next; } else{ head = l2; l2=l2.next; } ListNode temp = head; while(l1!=null&&l2!=null) { if(l1.val<l2.val)//比較每个结点 { temp.next = l1; temp=temp.next; l1 = l1.next; } else { temp.next = l2; temp=temp.next; l2 = l2.next; } } if(l1==null) //一个串结束直接接上另外一个 temp.next=l2; else temp.next = l1; return head; } }