输入: { 2 }, { 1 }
返回值: { 1,2 }
class Solution {
public:
/**
*
* @param l1 ListNode类
* @param l2 ListNode类
* @return ListNode类
*/
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
// write code here
ListNode *head = new ListNode(-1); //上面没给head,那就要初始化!!!!!
ListNode *p1 = l1, *p2 = l2, *res = head; //一个链,一个p。再来个 “res” 接收上面定义的 “head”
while (p1 != NULL && p2 != NULL)
{
if (p1->val < p2->val) {
res->next = p1; // 每个p给 res->next
res = res->next; // res 指向下一个
p1 = p1->next; // p 指向下一个
}
else {
res->next = p2;
res = res->next;
p2 = p2->next;
}
}
if (p1 != NULL)
res->next = p1;
if (p2 != NULL)
res->next = p2;
return head->next; //返回的 head的下一个!!!!!!
}
};
合并有序链表
最新推荐文章于 2024-06-17 21:02:25 发布