分析
Java中雖沒有指針,但Java對象中卻有着指針的影子,同樣可以利用指針的一些性質,這是因為java的基礎類型存放在棧中,對象存放在堆中。這樣就可以根據一個對象來改變另一個對象的值,是以我們需要兩個連結清單,一個進行傳回,一個進行操作。
代碼
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode addList = new ListNode(0);
ListNode temp = addList;
while (true) {
/**
* 如果其中一個連結清單為空,則下面的值應該等于另外一個連結清單
*/
if (l1 == null) {
temp.next = l2;
l2 = null;
return addList.next;
} else if (l2 == null) {
temp.next = l1;
l1 = null;
return addList.next;
/**
* 判斷大小,然後指派
*/
} else if (l1.val < l2.val) {
temp.next = l1;
temp = temp.next;
l1 = l1.next;
} else {
temp.next = l2;
temp = temp.next;
l2 = l2.next;
}
}
}
消耗
