leetcode Reverse Nodes in k-Group
来源:互联网 发布:mac调用finder快捷键 编辑:程序博客网 时间:2024/05/16 11:00
class Solution {//1public: ListNode* reverseKGroup(ListNode* head, int k) //递归思想很好 { ListNode* ptr = head; for (int i = 0; i < k; ++i){ if (ptr == NULL) return head; else ptr = ptr->next; } ListNode* new_head = reverse(head, k); head->next = reverseKGroup(ptr,k); return new_head; } ListNode* reverse(ListNode* head, int k){ ListNode* prev = new ListNode(0); for (int i = 0; i < k; ++i){ ListNode* tmp = head->next; head->next = prev->next; prev->next = head; head = tmp; } return prev->next; }};
class Solution {//2public: ListNode* reverseKGroup(ListNode* head, int k) { int size = listSizeModified(head, k); if (size == 0) return head; ListNode *ptr = head, *priorPtr = new ListNode(0),//添加一个头结点 *retPtr = priorPtr, *tailPtr; while (size > 0){ for (int i = 0; i < k; ++i){ if (i == 0) tailPtr = ptr; ListNode* tmpPtr = ptr->next; ptr->next = priorPtr->next; priorPtr->next = ptr; ptr = tmpPtr; if (i == k - 1){ tailPtr->next = ptr; priorPtr = tailPtr; } size--; } } return retPtr->next; } int listSizeModified(ListNode* head, int k){ int count = 0; while (head != NULL){ head = head->next; count++; } return count - count % k; }};
1 0
- 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
- [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 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 (Java)
- LeetCode(25)Reverse Nodes in K-Group
- 使用butterknife引发的问题
- Java 设计模式之模板方法模式的详解(行为模式)
- WPF与Prism一并学习(一)
- 8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改)
- Android dispatchTouchEvent介绍 触屏 翻页 滑动
- leetcode Reverse Nodes in k-Group
- 开发日记:weixin://preInjectJSBridge/fail
- WPF与Prism一并学习(二)
- (Java)LeetCode-32. Longest Valid Parentheses
- Recover Binary Search Tree
- jsp页面中插入css样式的三种方法
- WPF与Prism一并学习(三)
- jmeter入门教程- Jmeter教程及技巧汇总
- WPF与Prism一并学习(四)