旋转链表
ListNode* rotateRight(ListNode* head, int k) {
if (head == NULL || head->next == NULL) return head;
ListNode *pNode = head;
int n = 1;
while (pNode->next) {
pNode = pNode->next;
++n;
}
pNode->next = head;
int step = n - k%n;
while (step) {
pNode = head;
head = head->next;
step--;
}
pNode->next = NULL;
return head;
}
推荐阅读
- leetcode|leetcode 92. 反转链表 II
- 旋转image、imageView
- LeetCode|LeetCode 876. 链表的中间结点
- redis|redis 链表
- C语言数据结构之二叉链表创建二叉树
- 链表|链表 LC.19/83/92/61/143/21/160/141/147/138/142
- 数据结构|C++技巧(用class类实现链表)
- 27|27 二叉搜索树与双向链表
- LinkedBlockingQueue分析
- Qt实战|Qt+OpenCV联合开发(二十一)--图像翻转与旋转