博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode 面试题 旋转字符串
阅读量:4960 次
发布时间:2019-06-12

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

1、题目描述

题目链接:http://www.lintcode.com/zh-cn/problem/rotate-string/

给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)

2、难点分析

特殊情况:①字符串为""的情况②offset=0的情况③offset远大于字符串长度的情况

前两种情况,如果想到了直接return就好。第三种情况难以想到,想到的话也好处理,因为如果偏移量offset为字符串长度的整数倍,那么偏移之后的结果其实就是源字符串,所以真正的偏移量应该为offset%(字符串的长度)。

3、Java代码

public class Solution {    /**     * @param str: an array of char     * @param offset: an integer     * @return: nothing     */          //没有考虑字符串为""的情况     //没有考虑到offset远大于字符串长度的情况,导致时间超时    public void rotateString(char[] str, int offset) {        // write your code here        char temp;        if(offset==0) return;        if(str.length==0)return;        int len=str.length;        for(int i=1;i<=offset%len;i++){            temp=str[len-1];            int j=len-2;            while(j>=0){                str[j+1]=str[j];                j--;            }            str[0]=temp;        }    }}

 

样例

对于字符串 "abcdefg".

offset=0 => "abcdefg"

offset=1 => "gabcdef"

offset=2 => "fgabcde"

offset=3 => "efgabcd"

 

转载于:https://www.cnblogs.com/sylz/p/5690418.html

你可能感兴趣的文章
Atitit.android播放smb 网络邻居视频文件解决方案
查看>>
[转]PHP $_SERVER变量中的 HTTP_HOST 和 SERVER_NAME
查看>>
简易c语言文法
查看>>
[QA]UrlRewriter无法解析实际存在的htm文件
查看>>
记一次因为索引维护导致批量无法继续的情况
查看>>
poj 2195 (最小费用最大流)
查看>>
HCA数据下载
查看>>
Codeforces 954 G. Castle Defense
查看>>
反射机制-----------通过它获取类中所有东西 出了注释
查看>>
svn的一个连接
查看>>
position:fixed和z-index:1
查看>>
unity, 延迟执行代码
查看>>
mysq找不到pid无法正常启动
查看>>
php实现抓取网站百度快照和百度收录数量的代码实例
查看>>
Qt那点事儿(三) 论父对象与子对象的关系
查看>>
jar 命令 打包装class文件的文件夹
查看>>
node.js express配置允许跨域
查看>>
JSP EL表达式详细介绍(转)
查看>>
要想找出正好包含5个字符的名字
查看>>
用js把图片做的富有动态感,并对以后需要用着的属性进行封装
查看>>