leetcode 21.合并两个有序链表
leetcode 21.合并两个有序链表
第二十一题:合并两个有序链表
1.迭代:
当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将对应链表中的节点向后移一位。
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
ListNode head = new ListNode(-1);
ListNode result = head;
while (list1 !=null && list2!=null){
if (list1.val <= list2.val){
result.next = list1;
list1 = list1.next;
}
else {
result.next = list2;
list2 = list2.next;
}
result = result.next;
}
result.next = list1 == null? list2:list1;
return head.next;
}