mirror of
				https://git.wolves.top/wolves/leetcode.git
				synced 2025-11-04 09:16:32 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			977 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			977 B
		
	
	
	
		
			C++
		
	
	
	
	
	
class Q21
 | 
						|
{
 | 
						|
public:
 | 
						|
    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) {}
 | 
						|
    };
 | 
						|
 | 
						|
    ListNode *mergeTwoLists(ListNode *l1, ListNode *l2)
 | 
						|
    {
 | 
						|
        ListNode *preHead = new ListNode(-1);
 | 
						|
 | 
						|
        ListNode *prev = preHead;
 | 
						|
        while (l1 != nullptr && l2 != nullptr)
 | 
						|
        {
 | 
						|
            if (l1->val < l2->val)
 | 
						|
            {
 | 
						|
                prev->next = l1;
 | 
						|
                l1 = l1->next;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                prev->next = l2;
 | 
						|
                l2 = l2->next;
 | 
						|
            }
 | 
						|
            prev = prev->next;
 | 
						|
        }
 | 
						|
 | 
						|
        // 合并后 l1 和 l2 最多只有一个还未被合并完,我们直接将链表末尾指向未合并完的链表即可
 | 
						|
        prev->next = l1 == nullptr ? l2 : l1;
 | 
						|
        std::cout << "123";
 | 
						|
        return preHead->next;
 | 
						|
    }
 | 
						|
}; |