Leetcode21 合并两个有序链表

/**
 * Definition for singly-linked list.
 * 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) {}
 * };
 */
 bool comparision(int a,int b)
 {
     return a  }
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        //子集为空
        if(list1 ==nullptr || list2 ==nullptr)
        {
            cout<<"[]"<         }
        ListNode* tempnode = new ListNode();
        ListNode* TotalNode = tempnode;//指向第一个元素
        //两个几集合都有元素
       while((list1!=nullptr )&&(list2!=nullptr))
       {
           //比较指针的元素大小
          if(list1->val < list2->val)
           {
               tempnode->next= list1;
               list1 = list1->next;
           }
           else
           {
               tempnode->next = list2;
               list2 = list2->next;
           }
           tempnode = tempnode->next;
          
       }
       //其中一个子集为空
       tempnode->next = list1==nullptr?list2:list1;
       return   TotalNode->next;
    }  
};

你可能感兴趣的:(c++,学习,算法)