博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode Reverse Nodes in k-Group
阅读量:4108 次
发布时间:2019-05-25

本文共 1636 字,大约阅读时间需要 5 分钟。

Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.

If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.

You may not alter the values in the nodes, only nodes itself may be changed.

Only constant memory is allowed.

For example,

Given this linked list: 1->2->3->4->5

For k = 2, you should return: 2->1->4->3->5

For k = 3, you should return: 3->2->1->4->5

读懂题意思路还是很简单的,之前就说过链表算法不难,但是细节真是是要小心。

struct Node{    ListNode *beg;    ListNode *end;    Node(){}    Node(ListNode *b, ListNode *e):beg(b), end(e){}}; */class Solution {public:    void reverse(ListNode *beg, ListNode *end)    {        ListNode *pPre = NULL;        ListNode *p = beg;        while(p != end)        {            ListNode *pNext = p->next;            p->next = pPre;            pPre = p;            p = pNext;        }        p->next = pPre;    }    ListNode *reverseKGroup(ListNode *head, int k) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if (head == NULL)            return NULL;        ListNode *pPre = NULL;          ListNode *p = head;        while(p)        {            ListNode *q = p;            for(int i = 0; i < k - 1; i++)            {                q = q->next;                if (q == NULL)                    return head;            }            ListNode *qNext = q->next;             reverse(p, q);            if (pPre)                pPre->next = q;            else                head = q;            p->next = qNext;            pPre = p;            p = qNext;        }        return head;    }};

转载地址:http://bjtsi.baihongyu.com/

你可能感兴趣的文章
接近开关和欧姆龙的PLC怎么接线?
查看>>
VC字体颜色&VC助手
查看>>
vc6.0助手
查看>>
贴片电解电容正负极区分
查看>>
名书收藏
查看>>
【IAR】Error[Li005] no definition for "__program_start"
查看>>
WriteFile()写串口 .
查看>>
ISP和IAP两种编程方式有何区别?
查看>>
CListCtrl列表中,改写几列的文字颜色
查看>>
MFC CListCtrl 使用介绍
查看>>
vc workspace不能显示类视图/工程文件视图/资源视图
查看>>
铝电解电容品牌排行榜
查看>>
电感品牌
查看>>
WinAVR MakeFile分析
查看>>
堆区和栈区的区别
查看>>
画笔的异或模式
查看>>
STUDIO到IAR
查看>>
GCC出现warning: integer constant is too large for 'long' type"
查看>>
winAVR 全局变量volatile
查看>>
OP AMP - 单电源对运算放大器的影响
查看>>