zoukankan      html  css  js  c++  java
  • 部分字符串反转

    问题:字符串"abcdefg"反转为 “abfedcg”
    来自尚硅谷视频
    /**
    * @auto
    * @create 2020-03-29-15:10
    */
    public class Test021 {
    public static void main(String[] args) {
    String str = reverse("abcdef", 2, 4);
    System.out.println(str);
    Test021 t=new Test021();
    str=t.reverse1("abcdef", 2, 4);
    System.out.println(str);
    str=t.reverse2("abcdef", 2, 4);
    System.out.println(str);
    }
    //利用数组下标反转
    public static String reverse(String string, int start, int end) {
    if (string != null) {
    char[] chars = string.toCharArray();
    for (int i = start, j = end; i < j; i++, j--) {
    char temp = chars[i];
    chars[i] = chars[j];
    chars[j] = temp;
    }
    return new String(chars);
    }
    return null;
    }
    //利用字符串拼接
    public String reverse1(String string, int start, int end) {
    if (string != null) {
    String reverseStr = string.substring(0, start);
    for(int i=end;i>=start;i--){
    reverseStr+=string.charAt(i);
    }
    reverseStr+=string.substring(end+1);
    return reverseStr;
    }
    return null;
    }
    // 对String进行优化
    public String reverse2(String string,int start,int end){
    if(string!=null){
    StringBuilder sl=new StringBuilder();
    // 开头不变部分(左闭右开原则截取)
    sl.append(string.substring(0,start));
    // 反转部分
    for(int i=end;i>=start;i--){
    sl.append(string.charAt(i));
    }
    sl.append(string.substring(end+1));
    return sl.toString();
    }
    return null;
    }
    }
  • 相关阅读:
    loadrunner压测java请求
    Omnitty的使用
    软件工程之感想
    《人月神话》读后感
    my idea之NSBC分析
    电梯调度 总结稿 刘博&徐梦迪
    敏捷开发综述
    数组最大子数组和(续)之动态规划
    求二维数组最大子数组和 刘博&徐梦迪
    数组中的最大子数组的和 刘博&徐梦迪
  • 原文地址:https://www.cnblogs.com/kukai/p/12592525.html
Copyright © 2011-2022 走看看