题解 | #翻转字符串(2)#

翻转字符串(2)

http://www.nowcoder.com/practice/79c562297c0e4ff0952ef39ecde1bd6b

import java.util.Scanner;
public class Main {

    public static void reverse(char[] chas, int start, int end) {
        char tmp = 0;
        while (start < end) {
            tmp = chas[start];
            chas[start] = chas[end];
            chas[end] = tmp;
            start++;
            end--;
        }
    }

    /*补充    字符数组chas和一个整数size,把大小为size的坐班去整体移动到右半区
    ABCDE   size=3  DEABC
    1.[0,size-1]逆序
    2.[size,len-1]逆序
    3.整体逆序
    ABCDE------CBADE-----CBAED-----DEABC
    * */
    public static void rotate1(char[] chars, int size) {
        if (chars == null || size < 0 || size > chars.length || chars.length == 0) {
            return;
        }
        reverse(chars, 0, size - 1);
        reverse(chars, size, chars.length - 1);
        reverse(chars, 0, chars.length - 1);
    }


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int size=Integer.parseInt(in.nextLine());
        char[] chars1=in.nextLine().toCharArray();
        rotate1(chars1,size);
        System.out.println(chars1);
    }
}
全部评论

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
01-14 15:08
东南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务