java循环左一_左旋转字符串(Java)-循环Index方式
左旋转字符串(Java)-循环Index方式
题目要求
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
我的思考
我们通过观察发现,左移几位,就是开始从哪位输出,但是输出的长度还是字符串本身的长度,也就是说,左移3位,那么就是从原始字符串的index=3处开始输出,输出的个数仍然是字符串长度的个数,这样肯定就越界了,所以,我们在取index的时候用index = index % str.length;让其在超出了字符串长度就返回到最前边取值。就循环起来了、
我的代码
package jianzhioffer;
/**
* @author jiyongjia
* @create 2020/6/25 - 14:43
* @descp: 左旋字符串
* 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。
* 对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。
* 例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
*/
public class P13_LeftRotateString {
public static void main(String[] args) {
String str = "abcdefg";
String string = LeftRotateString(str, 2);
System.out.println(string);
}
public static String LeftRotateString(String str,int n) {
int length = str.length();
StringBuilder builder = new StringBuilder();
while(length>0){
builder.append(str.charAt(n++%str.length()));
//减1
length--;
}
return builder.toString();
}
}
测试输出
输入:"abcdefg" ,左移2位
输出:
java循环左一_左旋转字符串(Java)-循环Index方式相关推荐
- 连字符在java中怎么表示_如何在字符串之间添加连字符 - java
我有以下字符串xxxxx,我想添加x-xxxx之类的连字符,如何使用Java? 参考方案 您可以使用String#substring(). String newstring = string.subs ...
- java 基础 笔试题_非常全面的java基础笔试题
1.下列说法正确的是() (程序结构) A java程序的main方法必须写在类甩面 B java程序中可以有多个main方法 C.java程序中类名必须与文件名一样 D.JAVA程序的main方法中 ...
- java 数组 重复数据结构_常用数据结构及其Java实现——刷了一个月算法,薪资终于Double了!...
大家五一假期回来还愉快吗?我就问问而已 本文采用Java语言来进行描述,帮大家好好梳理一下数据结构与算法,在工作和面试中用的上.亦即总结常见的的数据结构,以及在Java中相应的实现方法,务求理论与实践 ...
- java程序员第二语言_惊呆了!Java程序员最常犯的错竟然是这10个
和绝大多数的程序员一样,我也非常的宅.周末最奢侈的享受就是逛一逛技术型网站,比如说 programcreek,这个小网站上有一些非常有意思的主题.比如说:Java 程序员最常犯的错竟然是这 10 个, ...
- java跟python对比_【多年的Java程序员总结Java与Python的对比 】
多年的Java程序员总结Java与Python的对比 作为一个有多年职场经验的技术员,每当我遇到同行时,我都会问一句"你现在用的是什么语言?你喜欢用哪种语言?"至于答案,容后再说. ...
- java 开发书籍 目录_《零基础 Java 开发 》全书目录
第1部分 Java开发基础 第一章 搭建Java开发环境 1.1 Java简介 1.2 Java开发环境搭建 1.3 Java语⾔的功能 1.4 使用Eclipse开发Java程序 1.5 使用IDE ...
- java list e 查找_源码(04) -- java.util.ListE
java.util.List 源码分析(JDK1.7) ------------------------------------------------------------------------ ...
- python遍历循环怎么理解_聊聊python中的循环遍历
python之循环遍历 关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历.在实践中有时会遇到删除列表中的元素,那么循环遍历列表删除指定元素该怎么做呢? 还是直接上代码 ...
- 李兴华java视频在线观看_李兴华Java开发实战经典视频教程_IT教程网
资源名称:李兴华Java开发实战经典视频教程 资源目录: [IT教程网]010201_[第2章:简单Java程序]_简单Java程序 [IT教程网]010301_[第3章:Java基础程序设计]_Ja ...
最新文章
- android 伸缩工具栏,看,这个工具栏能伸缩折叠——Android CollapsingToolbarLayout使用介绍...
- java,使用get、post请求url地址
- 解决npm下载包失败的问题
- c 语言字符串转二进制,在C ++中将字符串转换为二进制序列
- gtj2018如何生成工程量报表_广联达BIM土建计量平台GTJ2018
- 彻底弄懂dalvik字节码【一】
- 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?
- vmware的win98安装声音驱动
- bootstrap panel 和table的使用
- 《ASP.NET Core 高性能系列》致敬伟大的.NET斗士甲骨文
- python条件语句练习题_python学习-7 条件语句 while循环 + 练习题
- 《剑指Offer》 包含min函数的栈
- 必备知识:大数据处理应遵循的原则
- 飞书成小米数万员工协作工具,雷军:越用越顺手
- 关于单点登录的简单原理和实现步骤
- [译] 关于 SPA,你需要掌握的 4 层 (1)
- 计算机说课教案模板,初中信息技术说课稿通用模板大全
- 什么是悬空 Docker 镜像?
- abc F - Endless Walk
- windows定时关机命令 取消定时关机命令 查看DNS缓存命令 清除DNS缓存命令
热门文章
- html的排版标题的是,HTML 5结构排版布局
- android 相册 uri空,Android---相册getContentResolver().query结果为空指针
- 电力电子技术 matlab仿真指导,在_电力电子技术_课程教学中展开Matlab仿真训练_唐贤伦...
- fpga摄像头模块_FPGA开源项目:双目测距(一)之双目图像采集显示以及图片保存...
- UE4多线程任务系统详解
- 矩阵每一行重复_【剑指offer】65 矩阵中的路径
- mac远程redis_Linux:使用Mac远程(局域网内)访问Ubuntu主机上的Redis服务
- 【转】C++/CLI简介(什么是C++/CLI) -------C++/CLI 编程系列一
- async await 的前世今生(Updated)
- 百度云cdn设置州五年制大专_图说云原生:让云原生转型变得像种白菜一样简单...