Lintcode170 Rotate List solution 题解
来源:互联网 发布:电子书纸质书数据分析 编辑:程序博客网 时间:2024/06/11 02:43
【题目描述】
Given a list, rotate the list to the right bykplaces, wherekis non-negative.
给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数
【题目链接】
www.lintcode.com/en/problem/rotate-list/
【题目解析】
此题的关键是用两个指针,快指针比慢指针先走k步,然后两个指针一起走,当快指针到底链表尾端时,慢指针所指的地方就是rotate的分界点。
注意考虑特殊情况:
1.k==0或者链表为空,直接返回
2.k远远大于链表长度时,此时若还是按照上面的方法找——快指针比慢指针先走k步,那么会浪费很多时间,我们可以想到在这个过程中,其实快指针循环走了很多遍链表,走k步所到的位置其实就是走k%length所到的位置,先求出链表长度,在求出需要的k,那么将会节省不少时间。
3.如果慢指针没有走动过,那么链表不旋转
4.注意为了判断链表的旋转,以及计数的方便,我们在链表透之前加了一个新的节点,这个节点不参与链表的旋转,是个辅助节点
【参考答案】
www.jiuzhang.com/solutions/rotate-list/
阅读全文
0 0
- Lintcode170 Rotate List solution 题解
- Lintcode8 Rotate String solution 题解
- Lintcode161 Rotate Image solution 题解
- LeetCode题解:Rotate List
- Lintcode22 Flatten List solution 题解
- Lintcode96 Partition List solution题解
- Lintcode98 Sort List solution 题解
- LeetCode题解-61-Rotate List
- leetcode题解-61. Rotate List
- leetcode题解-61. Rotate List
- Lintcode35 Reverse Linked List solution 题解
- Lintcode36 Reverse Linked List II solution 题解
- Lintcode35 Reverse Linked List solution 题解
- Lintcode102 Linked List Cycle solution 题解
- Lintcode103 Linked List Cycle || solution 题解
- Lintcode173 Insertion Sort List solution 题解
- LeetCode 题解(37): Rotate List
- LeetCode题解——Rotate List
- 在linux环境下配置thinkphp3.2.3框架运行环境的一些疑惑杂谈
- 华为--嵌入式软件工程师面试题汇总
- C++ 11 多线程 (condition_variable)(二)
- 《图解HTTP》读书心得(一)
- 娱乐
- Lintcode170 Rotate List solution 题解
- 什么是JVM?
- 我最喜欢的软件
- python学习笔记 第八章(一)
- 鼠标管理
- linux console
- 个人总结53
- Mastering Concurrency Programming with Java 8.pdf 英文原版 免费下载
- 杭电1082-矩阵连乘的判定