1. 程式人生 > >【劍指offer】合併連結串列。

【劍指offer】合併連結串列。

題目要求

合併兩個排序的列表

  • 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。

核心思想

類似C的方法,定義p指標,遍歷併合並。

完整程式碼如下

/**
 * 
 * 合併兩個排序的列表
 * 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。
 */
public class Solution {

	public class ListNode {
		int val;
		ListNode next = null;
		ListNode
(int val) { this.val = val; } } public ListNode Merge(ListNode list1,ListNode list2) { ListNode resultList = new ListNode(0); ListNode p = resultList;//定義p指標 while((list1 != null ) && (list2 != null)) { if(list1.val < list2.val) { p.next = list1;
list1 = list1.next; }else { p.next = list2; list2 = list2.next; } p = p.next; } if(list1 == null) { p.next = list2; }else { p.next = list1; } return resultList.next; } }