String字符串如何进行反转

参考答案

String字符串进行反转的四个方法:

1. 使用递归的方法,实现字符串反转

/**
 *  使用递归方法,实现字符串反转
 */
public class C {

    static String reverse(String originStr) {
        if(originStr == null || originStr.length() <= 1){
            return originStr;
        }
        return reverse(originStr.substring(1)) + originStr.charAt(0);
    }


    public static void main(String[] args) {
        System.out.println(reverse("123456"));
        System.out.println(reverse("ABCDEFG"));
    }
}

2. 使用StringBuilder的reverse()方法,实现字符串反转

/**
 *  使用StringBuilder的reverse()方法,实现字符串反转
 */
public class D {
    static String reverse(String str){
        StringBuilder result = new StringBuilder(str);
        return result.reverse().toString();
    }

    public static void main(String[] args) {
        System.out.println(reverse("123456"));
        System.out.println(reverse("ABCDEF"));
    }
}

3. 使用字符串数组,实现从尾部开始逐个逆序放入字符串,实现字符串的反转

/**
 * 使用字符串数组,实现从尾部开始逐个逆序放入字符串,实现字符串的反转
 */
public class E {
    static String reverse(String str){
        // String 转换成字符数组
        char[] charArray = str.toCharArray();
        // 定义一个空字符串
        StringBuilder result = new StringBuilder();

        for (int i = charArray.length-1; i>=0 ; i--) {
            result.append(charArray[i]);
        }
        return result.toString();
    }


    public static void main(String[] args) {
        System.out.println(reverse("123456"));
        System.out.println(reverse("ABCDEF"));
    }
}

4. 使用String的CharAt()方法

使用String的CharAt方法取出字符串的各个字符,然后插入到字符串中,调用StringBuilder的insert()方法进行操作。

/**
 * 使用 String的CharAt方法,使用String的CharAt方法取出字符串的各个字符,
 * 然后插入到字符串中,调用StringBuilder的insert()方法进行操作
 */
public class F {

    static String reverse(String str){
        StringBuilder result = new StringBuilder();

        int length = str.length();

        for (int i = 0; i < length; i++) {
            result.insert(0,str.charAt(i));
        }
        return result.toString();
    }

    public static void main(String[] args) {
        System.out.println(reverse("123456"));
        System.out.println(reverse("ABCDEF"));
    }
}

以上,是Java面试题【String字符串如何进行反转】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧