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

合并两个排序的链表

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*big=new ListNode(0);
		 ListNode*p0=big;
		 ListNode*p1= pHead1;
		  ListNode*p2= pHead2;
		  while(p1!=NULL&&p2!=NULL)
		  {
			if(p1->val>p2->val)
			{
				p0->next=p2;
				p2=p2->next;
			}
			else {
			    p0->next=p1;
				p1=p1->next;
			}
			p0=p0->next;
		  }
		  if(p1!=NULL)
		  {
			p0->next=p1;
		  }
		  else {
		  p0->next=p2;
		  }
		  return big->next;
    }
};

全部评论

相关推荐

06-19 12:33
安徽大学 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-01 13:13
ecece:这么明目张胆虚报就业率啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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