25. Reverse Nodes in k-Group
来源:互联网 发布:数据输入 编辑:程序博客网 时间:2024/05/18 00:57
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: typedef pair<ListNode*,ListNode*> ListNodePair; ListNode* reverseKGroup(ListNode* head, int k) { if(head == NULL || k == 1) { return head; } ListNode *newHead,*Tail; newHead = Tail = NULL; while(head != NULL) { int num = 0; ListNode *tempHead = head,*tempTail = NULL; while(head != NULL && num < k) { num++; tempTail = head; head = head->next; } tempTail->next = NULL; if(num == k) { ListNodePair pairList = reverseList(tempHead); if(newHead == NULL) { newHead = pairList.first; Tail = pairList.second; } else { Tail->next = pairList.first; Tail = pairList.second; } } else { if(newHead == NULL) { newHead = tempHead; } else { Tail->next = tempHead; } } } return newHead; } ListNodePair reverseList(ListNode *head) { ListNode *theNext,*underNext,*Tail; theNext = head->next; Tail = head; while(theNext != NULL) { underNext = theNext->next; theNext->next = head; Tail->next = underNext; head = theNext; theNext = underNext; } return make_pair(head,Tail); }};
0 0
- [LeetCode]25.Reverse Nodes in k-Group
- LeetCode --- 25. Reverse Nodes in k-Group
- LeetCode 25.Reverse Nodes in k-Group
- [Leetcode] 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- 【LeetCode】25.Reverse Nodes in k-Group
- [leetcode] 25.Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- Leetcode-25.Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- leetcode 25. Reverse Nodes in k-Group
- leetcode 25. Reverse Nodes in k-Group
- 25. Reverse Nodes in k-Group
- week2——基本排序算法
- 中介者模式
- 面向对象开发设计 (1)
- Activity之间动画的切换
- 腾讯云代理查询方法渠道查询方法自己是谁的代理客户
- 25. Reverse Nodes in k-Group
- Android 学习(1)
- 读卡器项目总结(六)— 上位机通信协议
- [剑指offer-1367]二叉搜索树的后序遍历序列
- shiro入门实战笔记(3)--身份认证
- 进程实现原理
- linux 信号 alarm和pause
- 【翻译自mos文章】Oracle Database 12c Standard Edition 2 (12.1.0.2)
- __dict__, __getattr__和__setattr__