1 一根绳子有多个结,每一个结🈶大有小,一个小朋友从左向右解 要求当前解的比之前解的大 2 一个vecotr<int>,要求去重,然后串联最后返回一个整形指针,指向 该串联的数 3 最小栈 4 输入1 2 3 4 5, 返回 2 1 4 3 5
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x): val(x),next(NULL) {}
}
class Solution {
public:
ListNode *reverse_group(ListNode *head, int k)
{
if(head == NULL || head->next == NULL || k <= 1) {
return head;
}
ListNode *cur = head;
ListNode *pre = NULL;
ListNode *next = NULL;
for(int i=0; i<k;i++) {
if(cur == NULL) {
return head;
}
cur = cur->next;
}
cur = head;
for(int i=0;i<k;i++) {
next = cur ->next;
cur->next = pre;
pre = cur;
cur = next;
}
head ->next = reverse_group(next, k);
return pre;
}
}
全部评论
(3) 回帖