C语言数据结构旋转链表的实现

发布时间 - 2026-01-11 02:52:41    点击率:

C语言数据结构旋转链表的实现

实例:

给出链表1->2->3->4->5->null和k=2

返回4->5->1->2->3->null

分析

感觉很直观,直接把分割点找出来就行,记得k可能大于len,要取模

代码:

/** 
 * Definition for singly-linked list. 
 * struct ListNode { 
 *   int val; 
 *   ListNode *next; 
 *   ListNode(int x) : val(x), next(NULL) {} 
 * }; 
 */ 
class Solution { 
public: 
  /** 
   * @param head: the list 
   * @param k: rotate to the right k places 
   * @return: the list after rotation 
   */ 
  ListNode *rotateRight(ListNode *head, int k) { 
    // write your code here 
    if(head==NULL) 
      return head; 
    int len = 0; 
    ListNode*temp = head; 
    while(temp) 
    { 
      len++; 
      temp = temp->next; 
    } 
    k%=len; 
    if(k==0) 
      return head; 
    k = len-k; 
    temp = head; 
    while(k>1) 
    { 
      temp = temp->next; 
      k--; 
    } 
    ListNode*newStart = temp->next; 
    temp->next = NULL; 
    temp = newStart; 
    while(temp->next) 
      temp = temp->next; 
    temp->next = head; 
    return newStart; 
  } 
}; 

 以上就是C语言数据结构旋转链表的实现,如有疑问请留言或者到本站社区交流讨论,本站关于数据结构的文章还有很多,希望大家搜索查阅,大家共同进步!


# C语言数据结构旋转链表  # 旋转链表的实现方法  # C语言数据结构之中缀树转后缀树的实例  # C语言数据结构实现银行模拟  # C语言数据结构 快速排序实例详解  # C语言数据结构实现链表去重的实例  # C语言 数据结构链表的实例(十九种操作)  # C语言数据结构之栈简单操作  # C语言数据结构之双向循环链表的实例  # C语言数据结构之循环链表的简单实例  # C语言数据结构算法之实现快速傅立叶变换  # C语言中数据结构之链式基数排序  # 数据结构  # 链表  # 如有  # 就行  # 希望大家  # 还有很多  # 共同进步  # 疑问请  # Definition  # cpp  # brush  # struct  # list  # linked  # singly  # class  # gt  # br  # strong  # null 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何为API生成Swagger或OpenAPI文档  php485函数参数是什么意思_php485各参数详细说明【介绍】  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel安装步骤详细教程_Laravel环境搭建指南  JavaScript实现Fly Bird小游戏  七夕网站制作视频,七夕大促活动怎么报名?  如何彻底删除建站之星生成的Banner?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel如何自定义分页视图?(Pagination示例)  微信h5制作网站有哪些,免费微信H5页面制作工具?  Laravel如何配置和使用缓存?(Redis代码示例)  南京网站制作费用,南京远驱官方网站?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  高端智能建站公司优选:品牌定制与SEO优化一站式服务  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  详解Oracle修改字段类型方法总结  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  php json中文编码为null的解决办法  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  如何快速搭建高效服务器建站系统?  如何选择可靠的免备案建站服务器?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  韩国服务器如何优化跨境访问实现高效连接?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Firefox Developer Edition开发者版本入口  大连网站制作公司哪家好一点,大连买房网站哪个好?  html如何与html链接_实现多个HTML页面互相链接【互相】  详解vue.js组件化开发实践  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  中国移动官方网站首页入口 中国移动官网网页登录  Bootstrap整体框架之JavaScript插件架构  成都网站制作公司哪家好,四川省职工服务网是做什么用?  简历在线制作网站免费版,如何创建个人简历?  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel如何保护应用免受CSRF攻击?(原理和示例)