关闭

LeetCode21:Merge Two Sorted Lists

341人阅读 评论(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.


//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;
	}
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:282292次
    • 积分:4240
    • 等级:
    • 排名:第7186名
    • 原创:156篇
    • 转载:34篇
    • 译文:1篇
    • 评论:81条
    博主描述
    关注图像处理、模式识别、机器学习与计算机视觉,对稀疏表示和图像超分辨率技术很感兴趣,有相同研究的朋友,欢迎加入图像超分辨率技术交流讨论QQ群:524940170
    博客专栏
    最新评论