题目链接:合并两个排序的链表_牛客题霸_牛客网 (nowcoder.com)
代码(C++):
#include <cstdlib> class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode *p = pHead1,*q = pHead2,*s = new ListNode(0);//新开结点1,指针指向NULL;此时结点的VAL值为0 s->val = -1; ListNode *r = s; if (!p) return q; if (!q) return p; while(p != nullptr && q != nullptr){ if(p->val >= q->val){ r->next = q; q = q->next; }else{ r->next = p;; p = p->next; } r = r->next; } r->next = p ? p : q; return s->next; } };