Categories
不学无术

LeetCode 21. Merge Two Sorted Lists

题目:https://leetcode.com/problems/merge-two-sorted-lists/
代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        ListNode *currNode1 = l1;
        ListNode *currNode2 = l2;
        ListNode *retRoot = new ListNode(-1);
        ListNode *prev = retRoot;
        ListNode *curr;
        while(currNode1 != NULL || currNode2 != NULL){
            if(currNode1 != NULL && currNode2 != NULL) {
                if(currNoåde1->val <= currNode2->val) {
                    curr = new ListNode(currNode1->val);
                    currNode1 = currNode1->next;
                } else {
                    curr = new ListNode(currNode2->val);
                    currNode2 = currNode2->next;
                }
                prev->next = curr;
                prev = prev->next;
            } else if (currNode2 == NULL) {
                prev->next = currNode1;
                break;
            } else {
                prev->next = currNode2;
                break;
            }
        }
        return retRoot->next;
    }
};

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.