题解 | #相反链表的合并# 懒人解法

相反链表的合并

https://www.nowcoder.com/practice/0222a3c31a404dd3b8c3341d189477f4

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
#include <iterator>
class Solution {
private:
  vector<int> vals;
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param l1 ListNode类 
     * @param l2 ListNode类 
     * @return ListNode类
     */
   
    ListNode* mergeLists(ListNode* l1, ListNode* l2) {
        // write code here
        ListNode* p2=l2,*p1=l1,*p,*ans;
        while(p2!=nullptr)
        {
            vals.push_back(p2->val);
            p2=p2->next;
        }
        //// reverse(l2_vals.begin(),l2_vals.end());
        while(p1!=nullptr)
        {
            vals.push_back(p1->val);
            p1=p1->next;
        }
        sort(vals.begin(),vals.end());
        for(int i=0;i<vals.size();i++)
        {
            if(i==0)
            {
                ListNode* l=new ListNode(vals[i]);
                p=l;
                ans=p;
            }
            else
            {
                ListNode* l=new ListNode(vals[i]);
                p->next=l;
                p=p->next;
            }
            
        }
        
        return ans;
    }

    
};

全部评论

相关推荐

三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务