博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Reverse Nodes in K-Group
阅读量:5054 次
发布时间:2019-06-12

本文共 1553 字,大约阅读时间需要 5 分钟。

Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.

If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.

You may not alter the values in the nodes, only nodes itself may be changed.
Only constant memory is allowed.
For example,
Given this linked list: 1->2->3->4->5
For k = 2, you should return: 2->1->4->3->5
For k = 3, you should return: 3->2->1->4->5

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode *reverseKGroup(ListNode *head, int k) {12         if(k <= 1) return head;13         int reverseTimes = getLength(head) / k;14         ListNode dummy(0);15         dummy.next = head;16         ListNode* pre = &dummy;17         ListNode* cur = pre->next;18         while(reverseTimes--) {19             for(int i = 0; i < k - 1; i++) {20                 ListNode* move = cur->next;21                 cur->next = move->next;22                 move->next = pre->next;23                 pre->next = move;24             }25             pre = cur;26             cur = pre->next;27         }28         return dummy.next;29     }30     31     int getLength(ListNode *head) 32     {33         int length = 0;34         while(head) {35             length++;36             head = head->next;37         }38         return length;39     }40 };

 

转载于:https://www.cnblogs.com/zhengjiankang/p/3646748.html

你可能感兴趣的文章
【ASP.NET开发】菜鸟时期的ADO.NET使用笔记
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Activity和Fragment生命周期对比
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
日常报错
查看>>
list-style-type -- 定义列表样式
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>