题目

https://leetcode-cn.com/problems/merge-two-sorted-lists/

解题

  1. /**
  2. * Definition for singly-linked list.
  3. * function ListNode(val, next) {
  4. * this.val = (val===undefined ? 0 : val)
  5. * this.next = (next===undefined ? null : next)
  6. * }
  7. */
  8. /**
  9. * @param {ListNode} l1
  10. * @param {ListNode} l2
  11. * @return {ListNode}
  12. */
  13. var mergeTwoLists = function(l1, l2) {
  14. if(l1 === null) {
  15. return l2
  16. }
  17. if(l2 === null) {
  18. return l1
  19. }
  20. // result
  21. let head = prev = new ListNode()
  22. while(l1 !== null && l2 !== null) {
  23. if (l1.val > l2.val) {
  24. // 移动指针
  25. prev.next = l2
  26. l2 = l2.next
  27. } else {
  28. prev.next = l1
  29. l1 = l1.next
  30. }
  31. prev = prev.next
  32. }
  33. if(l1 === null) {
  34. prev.next = l2
  35. }
  36. if(l2 === null) {
  37. prev.next = l1
  38. }
  39. return head.next
  40. };