旋转链表(数据结构基础回顾)
给定一个链表,旋转链表,将链表每个节点向右移动 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;}
};
旋转链表(数据结构基础回顾)相关推荐
- 求单链表的最大值与原地逆转_数据结构基础复习09.ppt
数据结构基础复习09.ppt 数据结构考研辅导 基础复习 浙江大学计算机学院 内容提纲 考研概述 考察目标理解数据结构的基本概念 掌握数据结构的逻辑结构 存储结构及其差异 以及各种基本操作的实现 在掌 ...
- python数据结构基础(单链表,多链表,二叉树)
python数据结构基础(单链表,多链表,二叉树) 数据结构指数据对象中数据元素之间的关系 Python 给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们自己去定义的数据结构叫做 ...
- 算法与数据结构基础四----数据结构基础之动态数据结构基础:链表上
接着上一次https://www.cnblogs.com/webor2006/p/15195969.html的数据结构继续往下学习,这次会进入一个非常重要的数据结构的学习----链表,这个是未来学习复 ...
- 【数据结构基础】之链表介绍,生动形象,通俗易懂,算法入门必看
前言 本文为 数据结构基础[链表] 相关知识,下边将对链表概念,单链表,双链表,循环链表,Java中链表的使用等进行详尽介绍~
- 24. Leetcode 61. 旋转链表 (链表-基础操作类-旋转链表)
给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置.示例 1:输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例 2:输入:hea ...
- python链表翻转_Python数据结构之旋转链表
题目描述:给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数 样例:给出链表1->2->3->4->5->null和k=2;返回4->5-&g ...
- 【数据结构与算法】之深入解析“旋转链表”的求解思路与算法示例
一.题目要求 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置. 示例 1: 输入:head = [1,2,3,4,5], k =
- 数据结构基础和排序算法
数据结构和算法 1. 数据结构 1.1 稀疏数组 这个简单 稀疏数组即二维数组中有大量为0或同一个无效值的时候,将其压缩为只有有效数据的稀疏数组,需要使用时将其读写出来转为二维数组. public c ...
- Algorithm:【Algorithm算法进阶之路】之数据结构基础知识
Algorithm:[Algorithm算法进阶之路]之数据结构基础知识 相关文章 Algorithm:[Algorithm算法进阶之路]之数据结构二十多种算法演示 Algorithm:[Algori ...
最新文章
- 爱奇艺基于SpringCloud的韧性能力建设
- 华为的Java虚拟机_华为方舟编译器解析:提升安卓运行效率
- 蓝桥杯_算法训练_ALGO12_摆动序列
- 从零写一个编译器(七):语义分析之符号表的数据结构
- CentOS统的7个运行级别的含义
- Scrapy复习总结
- javascript 内置对象学习 笔记:
- 8.13 Prototypical Networks 原型网络
- 关于ping是用的TCP还是UDP的争论
- linux备份系统 硬盘数据,Linux怎么备份系统
- 微信小程序--点餐系统(本地服务器+源码分享)
- python 实现dcmtk关联pacs功能 推送下拉影像
- 算是目前PAYPAL最全最完整的开发方式了
- 小米手机Android怎么截屏,小米手机怎么截屏 5种截屏方法分享
- 海上升明月、天涯共此时!
- 状态栏和导航栏重叠,解决办法
- Python实现黑白棋人机对弈
- IP数据包的路由转发
- 【Java爬虫】Jsoup
- 一点心得,觉知此事须躬行
热门文章
- Garden Planner for Mac(园林绿化设计软件)
- CKEditor4.7之使用实现图片上传功能
- jsp内置对象是什么意思
- js正则表达式:密码至少8位,要求必须字母、数字加英文符号
- 浅析 智慧城市“数字孪生”IOC应用
- linux系统中arp老化时间计算,Linux实现的ARP缓存老化时间原理解析
- python画波浪线_matplotlib中的锯齿形或波浪线
- 2021-01-29学习总结
- 淘淘商城--生成订单
- 开源之夏 | 学生申请结果公示,正式启动项目研发