[JAVA]用数学解释数组移步问题(新增对链表移步的解释)
数组移步转载:https://blog.csdn.net/shijing_0214/article/details/53056943
题目来源:leetcode 2019-03-17
题目描述:Given a linked list, rotate the list to the right by k places, where k is non-negative.
链表移步:观察链表移步的规律可以发现,其实就是在一个环里走,然后选一个结点当头就行
Input: 0->1->2->NULL, k = 4 Output:2->0->1->NULL
Explanation: rotate 1 steps to the right: 2->0->1->NULL rotate 2 steps to the right: 1->2->0->NULL rotate 3 steps to the right:0->1->2->NULL
rotate 4 steps to the right:2->0->1->NULL
代码如下:
1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { val = x; } 7 * } 8 */ 9 class Solution { 10 public ListNode rotateRight(ListNode head, int k) { 11 if(k==0||head==null) return head; 12 ListNode cur=head; 13 int l=1; 14 while(cur.next!=null)//链表长度 15 { 16 ++l; 17 cur=cur.next; 18 } 19 if(k>l) k=k%l; 20 if(l==k) return head;//步数如果是整数倍直接返回 21 cur.next=head;//成环 22 cur=head; 23 k=l-k;//找头结点 24 while(--k!=0) 25 { 26 cur=cur.next; 27 } 28 head=cur.next; 29 cur.next=null; 30 return head; 31 } 32 33 }
转载于:https://www.cnblogs.com/cuphoria/p/10465903.html
[JAVA]用数学解释数组移步问题(新增对链表移步的解释)相关推荐
- java字符连接字符串数组_Java中连接字符串的最佳方法
java字符连接字符串数组 最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用 ...
- java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用
java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用 七十年代,IBM的Smalltalk语言最先推广面向对象,后来C语言变为C++,后来C++又产生了J ...
- Java 接口中使用数组缺点的理由
如果你发现在一个接口使用有如下定义方法: 1 public String[] getParameters(); 那么你应该认真反思.数组不仅仅老式,而且我们有合理的理由避免暴露它们.在这篇文章中,我将 ...
- java进阶第二讲-数组、String类
java进阶第二讲-数组.String类 1 回顾一下Object Object中的方法:public native int hashCode();带有native关键字的方法调用的是底层C++的dl ...
- 【java基础】——一维数组和二维数组存储占用内存大小问题
问题:在java中,一维数组和二维数组在数据量一样的情况下,开辟的内存大小是怎样的? 一.尝试阶段: 1.代码一: public class OneArrayMemory{public static ...
- JAVA学习 API_day04(迭代器, 数组和集合的转换, Comparable和Comparator, 二叉树)
迭代器, 数组和集合的转换, Comparable和Comparator, 二叉树 1.迭代器 2.数组和集合的转换 3. Comparable和Comparator 4.有序二叉树 1.迭代器 1. ...
- java字符串的字节数组_Java字节数组到字符串到字节数组
我正在尝试将byte []转换为字符串,将byte []的字符串表示形式转换为byte []的转换...我将byte []转换为要发送的字符串,然后我期望我的Web服务(用python编写)将数据直接 ...
- java从键盘为数组赋值,java给数组赋值
java 动态数组赋值,java对象数组详解,java二维数组赋值,java给数组赋值 java数组动态赋值,从零学java笔录-第24篇 图解一维数组在内存中,java二维数组赋值,java给数组赋 ...
- 【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法
目录 数组 二维数组 总结 作业 Arrays工具类 数组 数组总结 及 静态初始化一维数组 /* Array:1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object ...
最新文章
- hanlp java_HanLP-实词分词器详解
- 运用BT在centos下搭建一个博客论坛
- MAT之GA:利用GA对一元函数进行优化过程,求x∈(0,10)中y的最大值
- 2011年计算机等级考试二级java笔试练习题(10)_2010年3月计算机等级考试二级Java笔试题及答案...
- c语言小数加分,求救:c语言课程设计 员工工资管理程序 有加分的。谢谢
- 同心抗疫,IBM中国有限公司致客户的一封信
- 卡拉OK歌词同步播放
- wampserver修改默认根目录
- caffe linux 教程,Caffe 深度学习入门教程
- 解决MFC“由于应用程序配置不正确,应用程序未能启动……”错误提示的问题
- java手动销毁对象_java对象的销毁详解
- AD637 有效值检测
- 激活码方式注册的实现原理述
- 《30天自制操作系统》学习笔记--第12天
- 小米手环8和苹果S8哪款好 小米手环8和苹果S8区别
- 手机Camera理论
- JPA以外键为条件查询出的List(外键过滤并存入JSONObject)
- 无法安全地用该源进行更新,所以默认禁用该源 E: 无法定位软件包
- PyQt6中的第一个程序
- 使用快照启动 FIBOS、EOS 节点
热门文章
- 解决iphone的短信中心号码设置错误的方案
- 物联网(IoT)及其未来应用方向
- 思科模拟器配置 DHCP中继
- 使用VM安装Centos7虚拟机
- diskgenius合并分区(diskgenius合并分区到c盘)
- mysql导出导入文本文件的几种方式总结
- react中使用enzyme.mount和sinon
- 如何用PPT编制方案 — 1. PPT的总体规划
- 微型计算机2019年度金奖产品,【MC 2019年度评选获奖产品展播】华硕/ROG DIY精品斩获多个大奖...
- 微型计算机曾经使用过的字长,自考《计算机应用基础》模拟试题七