当前位置: 首页 > news >正文

[LeetCode]--61. Rotate List

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.

我是利用双指针吧,就可以在一次遍历的情况下找到要断开的位置即倒数第几个位置,然后插到头上即可。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode rotateRight(ListNode head, int k) {
        if (k == 0 || head == null || head.next == null)
            return head;
        ListNode p, q;
        p = q = head;
        int len = 1;
        while (p.next != null) {
            p = p.next;
            len++;
        }
        k = k % len;
        if (k == 0)
            return head;
        p = head;
        for (int i = 0; i < k; i++) {
            p = p.next;
        }
        while (p.next != null) {
            q = q.next;
            p = p.next;
        }
        p.next = head;
        p = q.next;
        q.next = null;
        head = p;
        return head;
    }
}

相关文章:

  • UVA 253 Cube painting
  • html+css-----补
  • excel技巧
  • sql连接:inner join on, left join on, right join on使用详解
  • Android下AIDL机制详解
  • 1614: [Usaco2007 Jan]Telephone Lines架设电话线
  • DataGridView的按钮列的点击事件
  • MVC--数据增删改查(Razro语法)
  • 【node学习】协程
  • 【转】JVM 分代GC策略分析
  • centos下编译安装MySQL5.7.16
  • Meta标签
  • OpenCV例程实现人脸检测
  • bt和wifi的共存
  • 使用Powershell链接到Office 365
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • Android单元测试 - 几个重要问题
  • Electron入门介绍
  • ES6系列(二)变量的解构赋值
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • javascript面向对象之创建对象
  • Java多态
  • Python语法速览与机器学习开发环境搭建
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 对象引论
  • 前端技术周刊 2019-01-14:客户端存储
  • 使用putty远程连接linux
  • 物联网链路协议
  • 限制Java线程池运行线程以及等待线程数量的策略
  • mysql面试题分组并合并列
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二)换源+apt-get基础配置+搜狗拼音
  • (二)正点原子I.MX6ULL u-boot移植
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十八)SpringBoot之发送QQ邮件
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转)详解PHP处理密码的几种方式
  • (转)重识new
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .bashrc在哪里,alias妙用
  • .java 9 找不到符号_java找不到符号
  • .net wcf memory gates checking failed
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @基于大模型的旅游路线推荐方案
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [383] 赎金信 js
  • [AutoSar NVM] 存储架构
  • [BUG]vscode插件live server无法自动打开浏览器