题解 | #合并两个排序的链表#

合并两个排序的链表

https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution
{
public:
    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
	{
    	ListNode* pHead3=new ListNode(1000);
		pHead3->next=NULL;
		ListNode* p1=pHead1;
		ListNode* p2=pHead2;
		ListNode* p3=pHead3;
		while(p1!=NULL||p2!=NULL)
		{
			ListNode* q=new ListNode(1);
			if(p1==NULL){q->val=p2->val;p2=p2->next;}
        	else if(p2==NULL){q->val=p1->val;p1=p1->next;}
			else if(p1->val<=p2->val){q->val=p1->val;p1=p1->next;}
			else{q->val=p2->val;p2=p2->next;}
			q->next=NULL;
			p3->next=q;
			p3=q;
		} 
		p3=pHead3;
		pHead3=pHead3->next;
		delete p3;
		return pHead3;
    }
};

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务