博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java双链表实现左旋转字符串
阅读量:3960 次
发布时间:2019-05-24

本文共 1026 字,大约阅读时间需要 3 分钟。

剑指 Offer 58 - II. 左旋转字符串

题目网址

题目描述

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

样例

样例1

输入: s = “abcdefg”, k = 2
输出: “cdefgab”
样例2
输入: s = “lrloseumgh”, k = 6
输出: “umghlrlose”
限制:1 <= k < s.length <= 10000

code

class Solution {
public String reverseLeftWords(String s, int n) {
DoubleSignalLink link= initLink(s,new DoubleSignalLink(),n); return reverseLink(link,s); } //定义链表 private static class DoubleSignalLink{
char chr; DoubleSignalLink next; DoubleSignalLink pre; DoubleSignalLink(){
} DoubleSignalLink(char data){
this.chr=data; } } //初始化链表,通过链表进行左右的拆分 private static DoubleSignalLink initLink(String str,DoubleSignalLink link,int target){
char [] arr =str.toCharArray(); DoubleSignalLink root =new DoubleSignalLink(); DoubleSignalLink head=link; DoubleSignalLink tmp =root; int i=0,j=1; while (i

运行结果

在这里插入图片描述

转载地址:http://brqzi.baihongyu.com/

你可能感兴趣的文章
如何查看进程的各种限制
查看>>
64位int类型用printf输出问题
查看>>
网络后台开发面试题目
查看>>
Linux 共享内存限制的查看与设置
查看>>
进程的状态转换
查看>>
如何查看进程的信息(线程数)
查看>>
read的用法
查看>>
查看系统信息(cpu,内存,硬盘,网卡)
查看>>
awk的混合编程
查看>>
awk编程
查看>>
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
查看>>
默认shell的修改
查看>>
Linux中的chage命令
查看>>
linux-详细解析密码文件passwd与shadow
查看>>
su- 与su的区别
查看>>
linux下发邮件mail
查看>>
/etc/group与/etc/gshadow文件解析
查看>>
echo如何手动输出换行
查看>>
linux下join连接
查看>>
身份证的正确使用方法——非常重要的知识
查看>>