Leetcode题解
来源:互联网 发布:魔扣少儿编程网址 编辑:程序博客网 时间:2024/06/14 15:28
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.
链接
先遍历一次链表找到链表长度,根据要翻转的K个位置来确定此时表头,即len-k+1
从表尾开始查找,找到表头即可。
class Solution {public: ListNode* rotateRight(ListNode* head, int k) { if(!head) return head; int len=1; ListNode *newH, *tail; newH=tail=head; while(tail->next) { tail = tail->next; len++; } tail->next = head; if(k %= len) { for(auto i=0; i<len-k; i++) tail = tail->next; } newH = tail->next; tail->next = NULL; return newH; }};
阅读全文
0 0
- leetcode题解
- leetcode题解
- LeetCode 题解
- leetCode题解
- leetcode题解
- leetcode题解
- leetcode题解
- LeetCode题解
- LeetCode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- 七层总结
- 高斯模糊算法
- 深入探究connect函数
- vector的复制
- Shiro的Web项目配置
- Leetcode题解
- ALSA架构简介
- 关键字之标识符
- Oracle——Run as能运行Debug as出错(跟tomcat无关)
- Java中的equals和hashCode方法详解
- 2017 计蒜之道 初赛 第六场
- Java swing单选按钮
- gdb调试多进程,多线程
- wine