LeetCode:Merge Two Sorted Lists

本文介绍了一种将两个已排序的链表合并为一个新排序链表的方法。通过比较两个链表节点的值来决定合并顺序,确保了新链表的有序性。此算法适用于计算机科学中的数据结构操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.

 ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
        ListNode *head=NULL,*pre=NULL,*plist01=l1,*plist02=l2;
		if((plist01!=NULL)&&(plist02!=NULL)&&(plist01->val<plist02->val)){
		
			head=plist01;
			pre=plist01;
			plist01=plist01->next;
		}
		else if((plist01!=NULL)&&(plist02!=NULL))
		{
			head=plist02;
			pre=plist02;
			plist02=plist02->next;
		}
		while (plist01&&plist02)
		{
			if(plist01->val<plist02->val){
			
				pre->next=plist01;
				pre=plist01;
				plist01=plist01->next;

			}else
			{
				pre->next=plist02;
				pre=plist02;
				plist02=plist02->next;
			}
		}
		if(pre==NULL){
		
			head=((plist01==NULL)?plist02:plist01);
		}else
		{
			pre->next=((plist01==NULL)?plist02:plist01);
		}
		return head;
    }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值