LeetCode 21 Merge Two Sorted Lists

来源:互联网 发布:肯尼迪遇刺档案 知乎 编辑:程序博客网 时间:2024/06/04 00:26

LeetCode 21 Merge Two Sorted Lists

#include <stddef.h>//否则NULL会报错为未定义的标识符using namespace std;struct ListNode {    int val;    ListNode *next;    ListNode(int x) : val(x), next(NULL) {}};class Solution {public:    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {        ListNode* prehead = new ListNode(-1);        ListNode* begin = prehead;        //l1和l2两个指针移动,哪个指针指向的元素排入新链表中就移动哪个指针        //begin指针与l1或l2指针双指针移动,类似于203题        while (l1 && l2){//均不为空            if (l1->val < l2->val){                begin->next = l1;//begin代表新链表的尾巴                l1 = l1->next;            }            else{                begin->next = l2;                l2 = l2->next;            }            begin = begin->next;        }        if (l1)            begin->next = l1;        else if (l2)            begin->next = l2;        return prehead->next;    }};
原创粉丝点击