#ifndef S0023_MERGE_K_SORTED_LISTS_HPP #define S0023_MERGE_K_SORTED_LISTS_HPP #include using namespace std; struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x), next(nullptr) {} ListNode(int x, ListNode *next) : val(x), next(next) {} }; class S0023 { public: ListNode *mergeKLists(vector &lists); ListNode *mergeTwoLists(ListNode *a, ListNode *b); ListNode *merge(vector &lists, int l, int r); }; #endif