第七周:21. Merge Two Sorted Lists

来源:互联网 发布:淘宝特价清仓花架 编辑:程序博客网 时间:2024/06/08 03:12

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

Subscribe to see which companies asked this question.

/** * 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 * head;          ListNode * ptr = head;                    while(l1 != NULL || l2 != NULL){              ListNode * cur = NULL;              if(l1 == NULL){                  cur = l2;                  l2 = l2->next;              }              else if(l2 == NULL){                  cur = l1;                  l1 = l1->next;              }              else{                  if(l1->val < l2->val){                      cur = l1;                      l1 = l1->next;                  }                  else{                      cur = l2;                      l2 = l2->next;                  }              }              ptr->next = cur;              ptr = ptr->next;          }                    return head->next;      }};


0 0