class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
if (!list1 && !list2) return nullptr;
std::vector<int> vec;
ListNode* cur1 = list1, *cur2 =list2;
while (cur1){
vec.push_back(cur1->val);
cur1 = cur1->next;
}
while (cur2){
vec.push_back(cur2->val);
cur2 = cur2->next;
}
std::sort(vec.begin(), vec.end());
ListNode* head = new ListNode(vec[0]);
ListNode* node = head;
for (int i = 1; i < vec.size(); i++){
node->next = new ListNode(vec[i]);
node = node->next;
}
// 略复杂
// ListNode* pre = head;
// for (int i = 1; i < vec.size(); i++){
// ListNode* node = new ListNode(vec[i]);
// pre->next = node;
// pre = node;
// }
return head;
}
};