将字符串中某个子串反转,并返回新的字符串

原文地址:将字符串中某个子串反转,并返回新的字符串-尹白|尹白博客|Linux运维|Java开发|docker容器化技术实战

public class StringTest4 {

    //题目4: 将字符串中某个子串反转,并返回新的字符串

    public static void main(String[] args) {
        String str = "inbai.net";

        String s = reverseString(str,0,str.length() -1);

        System.out.println(s);
        //结果:  ten.iabni

    }

    /***
     * 反转
     * @param string 需要反转的字符串
     * @param start 开始位置
     * @param end 结束位置
     * @return
     *
     */
    public static String reverseString(String string, int start, int end) {
        char[] c = string.toCharArray();
        return reverseArray(c, start, end);
    }


    /**
     *
     * @param c
     * @param start
     * @param end
     * @return
     * 原理分析:
     * 把第一个字符和最后一个字符交换位置, 然后,第一个位置向后走1, 最后一个位置向前走1
     *
     *
     */
    public static String reverseArray(char[] c, int start, int end) {
        for (int i = start, j = end; i < j; i++, j--) {
            char temp = c[i];
            c[i] = c[j]; //
            c[j] = temp;
        }
        return new String(c);
    }

}

这道javaString面试题,主要有两个知识点,一个就是考我们对于String类转char数组的知识点, 还一个就是考我们对for循环的使用,当然了, 也有一点点的算法在里面,从而实现将字符串中某个子串反转,并返回新的字符串的操作.