关闭

leetcode 021 —— Merge Two Sorted Lists

135人阅读 评论(0) 收藏 举报
分类:

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.


思路:类似归并排序,双指针扫描链表,值小的,就往新链表后面放,最后补齐多余的链表

class Solution {
public:
	ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
		ListNode pre(0);
		ListNode *p = ⪯
		while (l1&&l2){ //有一个为0 就出局
			if (l1->val > l2->val){
				p->next = l2;
				p = l2;
				l2 = l2->next;
			}
			else{
				p->next = l1;
				p = l1;
				l1 = l1->next;
			}
		}
		if (l1) p->next = l1;
		if (l2) p->next = l2;
		return (&pre)->next;
	}
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25764次
    • 积分:2054
    • 等级:
    • 排名:第18652名
    • 原创:188篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论