题目描述
合并两个排序的链表
算法1
(暴力枚举,越暴力越好)
stl真香
时间复杂度
可能是O(n)
参考文献
无
C++ 代码
ListNode* createLink(vector<int>&v,int length){
if(v.empty())
return nullptr;
ListNode* head = new ListNode(v.at(0));
ListNode* ptr=head,*p;
for(int i=1;i<length;++i){
p=new ListNode(v.at(i));
ptr->next=p;
ptr=p;
}
return head;
}
class Solution {
public:
ListNode* merge(ListNode* l1, ListNode* l2) {
vector<int>v1;
vector<int>v2;
ListNode* _l1=l1,*_l2=l2;
while(_l1!=nullptr){
v1.push_back(_l1->val);
_l1=_l1->next;
}
while(_l2!=nullptr){
v2.push_back(_l2->val);
_l2=_l2->next;
}
_l1=nullptr;
_l1=nullptr;
vector<int>v3;
for(auto i:v1){
v3.push_back(i);
}
for(auto i:v2){
v3.push_back(i);
}
sort(v3.begin(),v3.end());
ListNode* ret = createLink(v3,v3.size());
return ret;
}
};