LeetCode刷题(C++)——Rotate List(Medium)
来源:互联网 发布:淘宝紫砂壶店铺 编辑:程序博客网 时间:2024/05/29 07:09
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 == NULL)return NULL;int count = 0;ListNode* p = head;while (p != NULL){count++;p = p->next;}k = k%count;if (k == 0)return head;ListNode* fast = head;ListNode* slow = head;for (int i = 0; i < k;i++)fast = fast->next;while (fast->next != NULL){fast = fast->next;slow = slow->next;}if (slow->next == NULL)return head;else{p = slow->next;fast->next = head;slow->next = NULL;return p;} }};
0 0
- LeetCode刷题(C++)——Rotate List(Medium)
- LeetCode刷题(C++)——Sort List(Medium)
- [Leetcode 61, Medium] Rotate List
- LeetCode刷题(C++)——Remove Nth Node From End of List(Medium)
- LeetCode刷题(C++)——Remove Duplicates from Sorted List II(Medium)
- LeetCode刷题(C++)——Linked List Cycle II(Medium)
- LeetCode刷题(C++)——Odd Even Linked List(Medium)
- LeetCode 之 Rotate List — C 实现
- Leetcode 61. Rotate List (Medium) (cpp)
- LeetCode刷题(C++)——ZigZag Conversion(Medium)
- LeetCode刷题(C++)——3Sum(Medium)
- LeetCode刷题(C++)——Generate Parentheses(Medium)
- LeetCode刷题(C++)——4Sum(Medium)
- LeetCode刷题(C++)——Next Permutation(Medium)
- LeetCode刷题(C++)——Sort Colors(Medium)
- LeetCode刷题(C++)——Word Search(Medium)
- LeetCode刷题(34)-Rotate List
- LeetCode 61 — Rotate List(C++ Java Python)
- C/C++编程教训----数据结构的类型别名和memset
- SAP HANA XS ODATA使用参数展示具体数据
- 4.4 WINDOWS SERVER 2008
- 欢迎使用CSDN-markdown编辑器
- (三)请求响应
- LeetCode刷题(C++)——Rotate List(Medium)
- 数据库——数据冗余与数据类型
- interrupt(),interrupted() 和 isinterrupted() 的区别
- traincascade训练报错:Train dataset for temp stage can not be filled.
- HashMap集合的遍历
- HTTP 500-Unable to compile class for JSP的解决方法
- Ubuntu 删除安装软件
- 《java设计模式》:装饰者模式
- SAP HANA XS ODATA使用参数展示数据结构