leetcode Reverse Nodes in k-Group

来源:互联网 发布:淘宝 优衣库 没有活动 编辑:程序博客网 时间:2024/06/18 06:15

递归一下


/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode *reverseKGroup(ListNode *head, int k) {        if(head==NULL ||head->next==NULL||k<=1)            return head;        int n=k;        int len=0;        ListNode *p=head;        while(p)        {            len++;            p=p->next;        }        if(len<k)            return head;        ListNode *q=head;        p=NULL;        while(q&&n>0)        {            ListNode *ne=q->next;            q->next=p;            p=q;            q=ne;            n--;        }        if(len-k>=k)            head->next=reverseKGroup(q,k);        else            head->next=q;                    return p;            }};


0 0
原创粉丝点击