分析
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;
}
}
}
消耗
