Rotate List
来源:互联网 发布:情趣睡衣淘宝买家秀 编辑:程序博客网 时间:2024/06/06 23:42
Given a list, rotate the list to the right by k places, where k is non-negative.
For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* rotateRight(ListNode* head, int k) { if(!head || k == 0){ return head; } ListNode * cur = head; int len = 1; while(cur->next != NULL){ len ++; cur = cur->next; } cur->next = head; int offset = len - k % len; cur = head; while(offset > 1){ cur = cur->next; offset--; } head = cur->next; cur->next = NULL; return head; }};
0 0
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- rotate-list
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Linux软链接和硬链接
- Linux系统资源的相关命令
- linux文件系统之读流程 SYSCALL_DEFINE3(read, xxx)
- Java开发中的23种设计模式详解(转)
- Java正则表达式练习
- Rotate List
- 基本程序结构
- Vector容器介绍(一)
- leetcode 033 Search in Rotated Sorted Array
- fatal error C1001: INTERNAL COMPILER ERROR VC6.0BUG
- ie6、7下inline-block
- Android ListView点击事件无反应
- VS2013_Qt5打包—发布
- 传值、传指针、传引用