给一个单向链表以及整数N,使得每N个元素为一组进行翻转。要求时间复杂度O(n), 空间复杂度O(1)。-笔试面试资料

这是qklbishe.com第7431 篇笔试面试资料
提供答案分析,通过本文《给一个单向链表以及整数N,使得每N个元素为一组进行翻转。要求时间复杂度O(n), 空间复杂度O(1)。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给一个单向链表以及整数N,使得每N个元素为一组进行翻转。要求时间复杂度O(n), 空间复杂度O(1)。

C/C++

给一个单向链表以及整数N,使得每N个元素为一组进行翻转。要求时间复杂度O(n), 空间复杂度O(1)。 区块链毕设学生213973843号

ListNode* reverseLinkedList(ListNode* head, intn) {
        if(head == nullptr)return nullptr;
        ListNode* a = head;
        ListNode* b = head;
        for(inti=0; i<n; i++){
            //if(b == nullptr)break;
            b = b->next;
        }
        ListNode* newhead = newreverse(a, b);
        a->next = reverseLinkedList(b, n);
        return newhead;
        // write code here
    }
private:
    ListNode* newreverse(ListNode* a, ListNode* b){
        ListNode* pre = nullptr;
        ListNode* cur = a;
        while(cur != b && cur != nullptr){
            ListNode* nxt = cur->next;
            cur->next = pre;
            pre = cur;
            cur = nxt;
        }
        return pre;
    }

2021-03-09 21:39:03 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给一个单向链表以及整数N,使得每N个元素为一组进行翻转。要求时间复杂度O(n), 空间复杂度O(1)。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情