题目要求
合并两个排序的列表
- 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
核心思想
类似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;
}
}