您的位置:首页 > Web前端

剑指offer——合并两个排序的链表__

2017-05-28 12:52 344 查看


题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

思路:

建立一个 虚头结点,跟他的一个追踪指针p。

每次判定两个链表,将较小值放入。

/*
public class ListNode {
int val;
ListNode next = null;

ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1==null)return list2;
if(list2==null)return list1;

ListNode head1 = list1;
ListNode head2 = list2;

ListNode v = new ListNode(-1);
ListNode p = v;
while(head1!=null&&head2!=null){
if(head1.val<head2.val){
p.next =head1;
head1=head1.next;
p = p.next;
}else {
p.next = head2;
head2 = head2.next;
p = p.next;
}
}//while
if(head1==null){
p.next =head2;
}else {
p.next = head1;
}
return v.next;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: