使用一个dummy node,对于要改变head node的链表,使用dummy node很有用。
public class Solution { //Time: O(n) Space: O(1) public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode dummy = new ListNode(0); ListNode head = dummy; while (l1 != null || l2 != null) { if (l1 == null) { head.next = l2; l2 = l2.next; } else if (l2 == null) { head.next = l1; l1 = l1.next; } else { if (l1.val > l2.val) { head.next = l2; l2 = l2.next; } else { head.next = l1; l1 = l1.next; } } head = head.next; } return dummy.next; } }
No comments:
Post a Comment