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

合并两个排序的链表

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

全部评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务