[leetcode]Rotate List
2023-09-27 14:23:51 时间
/** * 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) { // Start typing your C/C++ solution below // DO NOT write int main() function if(!head) return NULL; int N = 0; ListNode *end = head; while(end->next){ end = end->next; N++; } N++; k = k%N; if(k == 0) return head; int M = N - k; ListNode* p = head; for(int i = 0; i < M-1; i++){ p = p->next; } ListNode *q = p->next; p->next = NULL; end->next = head; return q; } };
相关文章
- Leetcode: Linked List Random Node
- Leetcode: Flatten Binary Tree to Linked List
- Leetcode: Rotate List
- Leetcode: ZigZag Conversion
- LeetCode 145:Binary Tree Postorder Traversal
- LeetCode 83:Remove Duplicates from Sorted List
- [LeetCode] Linked List Cycle
- [LeetCode] Rotate List
- 173、【动态规划】leetcode ——300. 最长递增子序列 (C++版本)
- 104、【树与二叉树】leetcode ——98. 验证二叉搜索树:递归法[先序+中序+后序]+迭代法(C++版本)
- 【LeetCode】92. Reverse Linked List II
- Insertion Sort List -- leetcode
- [leetcode]sort list
- LeetCode: Linked List Cycle [141]
- [LeetCode] 1043. Partition Array for Maximum Sum 分隔数组以得到最大和
- [LeetCode] 708. Insert into a Cyclic Sorted List 在循环有序的链表中插入结点
- [LeetCode] Optimal Division 最优分隔
- [LeetCode] Relative Ranks 相对排名
- [LeetCode] 382. Linked List Random Node 链表随机结点
- [LeetCode] 381. Insert Delete GetRandom O(1) - Duplicates allowed 常数时间内插入删除和获得随机数 - 允许重复
- [LeetCode] 369. Plus One Linked List 链表加一运算
- [LeetCode] 155. Min Stack 最小栈
- Leetcode——19. Remove Nth Node From End of List
- leetcode 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素(简单)
- leetcode 148. Sort List 排序链表(中等)
- leetcode 142. Linked List Cycle II 环形链表 II
- leetcode算法83.删除排序链表中的重复元素
- leetcode算法35.搜索插入位置