코테준비 - Merge Two Sorted Lists

정상화·2023년 2월 26일

LeetCode

목록 보기
20/222

Merge Two Sorted Lists


class Solution {
public:
    ListNode *mergeTwoLists(ListNode *list1, ListNode *list2) {
        auto cur1 = list1;
        auto cur2 = list2;
        vector<ListNode *> vec;

        while (cur1 != nullptr && cur2 != nullptr) {
            if (cur1->val < cur2->val) {
                vec.push_back(cur1);
                cur1 = cur1->next;
            } else {
                vec.push_back(cur2);
                cur2 = cur2->next;
            }
        }

        if (cur1 == nullptr) {
            while (cur2 != nullptr) {
                vec.push_back(cur2);
                cur2 = cur2->next;
            }
        } else if (cur2 == nullptr && cur1 != nullptr) {
            while (cur1 != nullptr) {
                vec.push_back(cur1);
                cur1 = cur1->next;
            }
        }

        for (auto it = vec.begin(); it != vec.end(); it++) {
            if (next(it) != vec.end()) {
                (*it)->next = *next(it);
            }
        }

        return vec.empty() ? NULL : *vec.begin();
    }
};
profile
백엔드 희망

0개의 댓글