给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。

示例 1:

输入: 1->2->3->4->5->NULL, k = 2
输出: 4->5->1->2->3->NULL
解释:
向右旋转 1 步: 5->1->2->3->4->NULL
向右旋转 2 步: 4->5->1->2->3->NULL

示例 2:

输入: 0->1->2->NULL, k = 4
输出: 2->0->1->NULL
解释:
向右旋转 1 步: 2->0->1->NULL
向右旋转 2 步: 1->2->0->NULL
向右旋转 3 步: 0->1->2->NULL
向右旋转 4 步: 2->0->1->NULL

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rotate-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

这道题需要运用头插和尾删的操作,先遍历链表求出链表长度,通过k%链表长度得出来具体需要操作多少步。然后进行头插和尾删

/*** 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) {if(head==nullptr){return head;}ListNode *q=head;int a=0;while(head!=nullptr){head=head->next;a++;}k=k%a;while(k!=0){ ListNode *prev;ListNode *p=q;while(p->next!=nullptr){prev=p;p=p->next;}p->next=q;q=p;prev->next=nullptr;k--;}return q;}
};

旋转链表(数据结构基础回顾)相关推荐

  1. 求单链表的最大值与原地逆转_数据结构基础复习09.ppt

    数据结构基础复习09.ppt 数据结构考研辅导 基础复习 浙江大学计算机学院 内容提纲 考研概述 考察目标理解数据结构的基本概念 掌握数据结构的逻辑结构 存储结构及其差异 以及各种基本操作的实现 在掌 ...

  2. python数据结构基础(单链表,多链表,二叉树)

    python数据结构基础(单链表,多链表,二叉树) 数据结构指数据对象中数据元素之间的关系 Python 给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们自己去定义的数据结构叫做 ...

  3. 算法与数据结构基础四----数据结构基础之动态数据结构基础:链表上

    接着上一次https://www.cnblogs.com/webor2006/p/15195969.html的数据结构继续往下学习,这次会进入一个非常重要的数据结构的学习----链表,这个是未来学习复 ...

  4. 【数据结构基础】之链表介绍,生动形象,通俗易懂,算法入门必看

    前言 本文为 数据结构基础[链表] 相关知识,下边将对链表概念,单链表,双链表,循环链表,Java中链表的使用等进行详尽介绍~

  5. 24. Leetcode 61. 旋转链表 (链表-基础操作类-旋转链表)

    给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置.示例 1:输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例 2:输入:hea ...

  6. python链表翻转_Python数据结构之旋转链表

    题目描述:给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数 样例:给出链表1->2->3->4->5->null和k=2;返回4->5-&g ...

  7. 【数据结构与算法】之深入解析“旋转链表”的求解思路与算法示例

    一.题目要求 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置. 示例 1: 输入:head = [1,2,3,4,5], k =

  8. 数据结构基础和排序算法

    数据结构和算法 1. 数据结构 1.1 稀疏数组 这个简单 稀疏数组即二维数组中有大量为0或同一个无效值的时候,将其压缩为只有有效数据的稀疏数组,需要使用时将其读写出来转为二维数组. public c ...

  9. Algorithm:【Algorithm算法进阶之路】之数据结构基础知识

    Algorithm:[Algorithm算法进阶之路]之数据结构基础知识 相关文章 Algorithm:[Algorithm算法进阶之路]之数据结构二十多种算法演示 Algorithm:[Algori ...

最新文章

  1. 爱奇艺基于SpringCloud的韧性能力建设
  2. 华为的Java虚拟机_华为方舟编译器解析:提升安卓运行效率
  3. 蓝桥杯_算法训练_ALGO12_摆动序列
  4. 从零写一个编译器(七):语义分析之符号表的数据结构
  5. CentOS统的7个运行级别的含义
  6. Scrapy复习总结
  7. javascript 内置对象学习 笔记:
  8. 8.13 Prototypical Networks 原型网络
  9. 关于ping是用的TCP还是UDP的争论
  10. linux备份系统 硬盘数据,Linux怎么备份系统
  11. 微信小程序--点餐系统(本地服务器+源码分享)
  12. python 实现dcmtk关联pacs功能 推送下拉影像
  13. 算是目前PAYPAL最全最完整的开发方式了
  14. 小米手机Android怎么截屏,小米手机怎么截屏 5种截屏方法分享
  15. 海上升明月、天涯共此时!
  16. 状态栏和导航栏重叠,解决办法
  17. Python实现黑白棋人机对弈
  18. IP数据包的路由转发
  19. 【Java爬虫】Jsoup
  20. 一点心得,觉知此事须躬行

热门文章

  1. Garden Planner for Mac(园林绿化设计软件)
  2. CKEditor4.7之使用实现图片上传功能
  3. jsp内置对象是什么意思
  4. js正则表达式:密码至少8位,要求必须字母、数字加英文符号
  5. 浅析 智慧城市“数字孪生”IOC应用
  6. linux系统中arp老化时间计算,Linux实现的ARP缓存老化时间原理解析
  7. python画波浪线_matplotlib中的锯齿形或波浪线
  8. 2021-01-29学习总结
  9. 淘淘商城--生成订单
  10. 开源之夏 | 学生申请结果公示,正式启动项目研发