LeetCode--Reverse Nodes in k-Group
2015-03-06 19:48
381 查看
/** * 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) { ListNode *dummy = new ListNode(-1); dummy->next = head; ListNode *begin = dummy; ListNode *end = dummy; ListNode *newhead = new ListNode(-1); ListNode *newtmp = newhead; if( head == NULL || k<=1 ) return head; begin = head; while(begin) { int i=0; end = begin; //begin = end->next; for( i=0; i<k-1; i++) { if(end) end = end->next; else break; } if(i == k-1 && end != NULL) { ListNode *tmp = begin; ListNode *endnext = end->next; while( tmp != endnext ) { ListNode *pnext = tmp->next; tmp->next = newtmp->next; newtmp->next = tmp; tmp = pnext; } newtmp = begin; begin = endnext; } else { newtmp->next = begin; break; } } return newhead->next; } };
两个小时,最后不行了才使用vs2010单 步调试过了,指针很蛋疼
相关文章推荐
- [LeetCode]Reverse Nodes in k-Group
- LeetCode Online Judge 题目C# 练习 - Reverse Nodes in k-Group
- LeetCode_Reverse Nodes in k-Group
- [leetcode]Reverse Nodes in k-Group
- 【leetcode】Reverse Nodes in k-Group
- leetcode Reverse Nodes in k-Group
- LeetCode-Reverse Nodes in k-Group
- LeetCode - Reverse Nodes in k-Group
- leetcode 42: Reverse Nodes in k-Group
- leetcode Reverse Nodes in k-Group
- Reverse Nodes in k-Group [LeetCode]
- LeetCode : Reverse Nodes in k-Group
- LeetCode-Reverse Nodes in k-Group
- [LeetCode] Reverse Nodes in k-Group 解题报告
- LeetCode: Reverse Nodes in k-Group
- leetcode -- Reverse Nodes in k-Group
- [LeetCode] Swap Nodes in Pairs、Reverse Nodes in k-Group、Rotate List
- LeetCode | Reverse Nodes in k-Group
- LeetCode: Reverse Nodes in k-Group
- leetcode 42: Reverse Nodes in k-Group