【LeetCode】21. Merge Two Sorted Listsを解いてみた


はじめに

コーディングテスト対策としてLeetCodeの21. Merge Two Sorted Listsを解いていく。

問題文を和訳

  • 並べ替えられた 2 つの連結リストをマージし、
  • 並べ替えられた連結リストとして返します。
  • リストは、最初の 2 つのリストのノードをつなぎ合わせて作成する必要があります。
  • Input: l1 = [1,2,4], l2 = [1,3,4]
  • Output: [1,1,2,3,4,4]

回答

21_MergeTwoSortedLists.rb
def merge_two_lists(list1, list2)
  list3 = ListNode.new(0)
  result = list3
  while list1 != nil && list2 != nil
    if list1.val <= list2.val
      list3.next = list1
      list1 = list1.next
    else
      list3.next = list2
      list2 = list2.next
    end
    list3 = list3.next
  end
  list3.next = list1 || list2
  return result.next
end

最後に

難易度はEasyでした。