let21 merge two linked list
2017-12-26 22:13
330 查看
合并两个有序链表
主题思想: 因为是有序的,这题有两种解法,递归、循环。
递归解法,代码比较简洁
循环写法: 主要循环,需要判断什么时候截止。以及先有个头返回。
主题思想: 因为是有序的,这题有两种解法,递归、循环。
递归解法,代码比较简洁
public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1==null) return l2; if(l2==null) return l1; if(l1.val<l2.val){ l1.next=mergeTwoLists(l1.next,l2); return l1; }else{ l2.next=mergeTwoLists(l1,l2.next); return l2; } }
循环写法: 主要循环,需要判断什么时候截止。以及先有个头返回。
public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head; ListNode phead; //写代码首先应该检查边界条件 ListNode node1=l1; ListNode node2=l2; if(l1==null) return l2; if(l2==null) return l1; if(node1.val<node2.val) {phead=node1;node1=node1.next;} else {phead=node2;node2=node2.next;} head=phead; while(true){ if(node1==null){head.next=node2; break;} if(node2==null){head.next=node1;break;} if(node1.val<node2.val) {head.next=node1;node1=node1.next;} else{head.next=node2;node2=node2.next;} head=head.next; } return phead; }
相关文章推荐
- LeetCode@LinkedList_21_Merge_Two_Sorted_Lists
- 21. Merge Two Sorted Lists(Linked List)
- Remove Duplicates from Sorted List && Merge Two Sorted Lists && Linked List Cycle && Remove Nth Node
- merge two sorted linked list with duplicates
- merge two sorted linked list without duplicates
- LeetCode_Linked List_Merge Two Sorted Lists
- LeetCode 21 Merge Two Sorted Lists(合并两个已排序的链表)(Linked List)
- LeetCode 学习 LinkedList 专项(4)—— Merge Two Sorted Lists
- LinkedList-21-Merge Two Sorted Lists
- Merge Sorted Array leetcode java(回顾MergeTwoArray和MergeTwoLinkedList)
- leetcode Merge Two Linked List
- merge two sorted linked list with duplicates
- 【LeetCode】【Linked List】Merge Two Sorted Lists
- LeetCode -- Merge Two Sorted Linked List
- Merge Two Linked List
- 21. Merge Two Sorted Lists(Linked List-Easy)
- LeetCode: Merge two sorted linked lists
- Swap Two Nodes in Linked List
- 多路归并排序 merge k sorted array, merge k sorted linked list
- Merge Two Sorted Lists & Remove Nth Node From End of List