1
0

21.cpp 977 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. class Q21
  2. {
  3. public:
  4. struct ListNode
  5. {
  6. int val;
  7. ListNode *next;
  8. ListNode() : val(0), next(nullptr) {}
  9. ListNode(int x) : val(x), next(nullptr) {}
  10. ListNode(int x, ListNode *next) : val(x), next(next) {}
  11. };
  12. ListNode *mergeTwoLists(ListNode *l1, ListNode *l2)
  13. {
  14. ListNode *preHead = new ListNode(-1);
  15. ListNode *prev = preHead;
  16. while (l1 != nullptr && l2 != nullptr)
  17. {
  18. if (l1->val < l2->val)
  19. {
  20. prev->next = l1;
  21. l1 = l1->next;
  22. }
  23. else
  24. {
  25. prev->next = l2;
  26. l2 = l2->next;
  27. }
  28. prev = prev->next;
  29. }
  30. // 合并后 l1 和 l2 最多只有一个还未被合并完,我们直接将链表末尾指向未合并完的链表即可
  31. prev->next = l1 == nullptr ? l2 : l1;
  32. std::cout << "123";
  33. return preHead->next;
  34. }
  35. };
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。