【劍指offer】合併連結串列。
阿新 • • 發佈:2018-12-23
題目要求
合併兩個排序的列表
- 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。
核心思想
類似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;
}
}