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