henryzhihua

关注图像处理、模式识别、机器学习与计算机视觉 ps:本来你努力就能得到的东西,不要因为懈怠而失去机会!...

LeetCode21:Merge Two Sorted Lists

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.


//Definition for singly-linked list.
 struct ListNode {
    int val;
    ListNode *next;
   ListNode(int x) : val(x), next(NULL) {}
 };

 //遍历两个链表,每次取最小值
class Solution {
public:
	ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {

		ListNode * head = new ListNode(0);
		ListNode * ptr = head;

		while (l1 != NULL || l2 != NULL){
			ListNode * cur = NULL;
			if (l1 == NULL){
				cur = l2;
				l2 = l2->next;
			}
			else if (l2 == NULL){
				cur = l1;
				l1 = l1->next;
			}
			else{
				if (l1->val < l2->val){
					cur = l1;
					l1 = l1->next;
				}
				else{
					cur = l2;
					l2 = l2->next;
				}
			}
			ptr->next = cur;
			ptr = ptr->next;
		}

		return head->next;
	}
};


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/geekmanong/article/details/49917527
所属专栏: LeetCode算法分析
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

LeetCode21:Merge Two Sorted Lists

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭