java中最常用反转字串的方法

Java中经常会用到将字符串进行反转的时候,程序员孔乙己总结了5种反转方法,如下:

public class Test {
    public static void main(String[] args) {
        System.out.println(reverse1("qwert"));
    }

    //方法1 递归方法
    public static String reverse1(String s) {
        int length = s.length();
        if (length <= 1){
            return s;
        }
        String left = s.substring(0, length / 2);
        String right = s.substring(length / 2, length);
        return reverse1(right) + reverse1(left);
    }

    //方法2 通过 charAt(int index)返回char值进行字符串拼接
    public static String reverse2(String s) {
        int length = s.length();
        String reverse = "";
        for (int i = 0; i < length; i++)
            reverse = s.charAt(i) + reverse;
        return reverse;
    }
    //方法3 把字符串转换成字符数组倒叙拼接然后返回值
    public static String reverse3(String s) {
        char[] array = s.toCharArray();
        String reverse = "";
        for (int i = array.length - 1; i >= 0; i--)
            reverse += array[i];
        return reverse;
    }

    //方法4 调用StringBuffer中的reverse方法
    public static String reverse4(String s) {
        return new StringBuffer(s).reverse().toString();
    }

    //方法5 把字符串转换成字符数组首位对调位置
    public static String reverse5(String orig) {
        char[] s = orig.toCharArray();
        int n = s.length - 1;
        int halfLength = n / 2;
        for (int i = 0; i <= halfLength; i++) {
            char temp = s[i];
            s[i] = s[n - i];
            s[n - i] = temp;
        }
        return new String(s);
    }
}
发布了57 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/yb546822612/article/details/96434828