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 % len 获取具体需要移动的数字。

class Solution {
public:
ListNode *rotateRight(ListNode *head, int k) {
if(head == NULL || head->next == NULL) return head;
ListNode *f = head, *t = head;
int len = ;
while(t != NULL && t->next != NULL)
{
len++;
t = t->next;
} int mv =len - k % len; //新的头结点在链表中的位置
f = head;
while(--mv)
{
f = f->next; //找到新的头结点的前一个结点
} t->next = head; //尾巴连上最初的头结点
ListNode * newhead = f->next; //新的头结点
f->next = NULL; //新的尾部 return newhead; }
};

最新文章

  1. clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别【转】
  2. CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3(转)
  3. 最大似然估计(MLE)和最大后验概率(MAP)
  4. __declspec,__cdecl,__stdcall区别和作用
  5. Android锁屏软件
  6. 程氏CMS去掉静态页面的隐藏性版权方法
  7. ANDROID_MARS学习笔记_S01原始版_020_Mp3player001_歌曲列表
  8. Markdown写接口文档,自动添加TOC
  9. IOI1994 北京2008的挂钟 迭代加深
  10. SSAS数据集Cube不存在或者尚未处理
  11. 复杂的1秒--图解Google搜索技术
  12. eclipse搭建maven ssm项目
  13. 浅析PHP中的闭包和匿名函数
  14. ASP.NET Core 发布
  15. Properties类学习笔记
  16. R8500 MPv2 版本 刷 Kong编译的 ddwrt 后,使用Entware-ng 安装opkg安装第三方软件
  17. 【python】try...except...后中断程序继续运行
  18. python学习之----Lambda表达式
  19. 10个办法让设计小白迅速get海报设计要点!
  20. HTML <input> <button> <submit>

热门文章

  1. mysql 总结二(自定义存储过程)
  2. codevs2171 棋盘覆盖
  3. Effective Java 读书笔记之四 泛型
  4. HLOI2016滚粗记
  5. Unity开发-你必须知道的优化建议
  6. iOS权限管理思路
  7. Merge k Sorted Lists Leetcode Java
  8. Hashtable和HashMap类的区别
  9. BZOJ 1090: [SCOI2003]字符串折叠
  10. PHP环境搭建——Apache、Mysql、PHP单独安装(for Windows)