字符串String反转,数组反转-20200623

我发现现在笔试题经常出现字符串反转,下面记录一下常用的几种方案

 

1、使用String.cahrAt(i)

public static void main(String[] args) {
        reverse("ABCDEFG");
    }
    
    public static void reverse(String input){
        System.out.println(input);
        String out="";
        for( int x= input.length();x > 0;x--){
            out += input.charAt(x-1);
        }
        System.out.println(out);
    }

  

2、使用StringBuffer或者StringBuilder的reverse()方法

 public static void main(String[] args) {
        reverse1("ABCDEFG");
    }
    
    public static void reverse1(String input){
        System.out.println(input);
        StringBuilder sb=new StringBuilder(input);
        String out=sb.reverse().toString();
        System.out.println(out);
    }

  

3、使用反转数组

 public static void main(String[] args) {
        reverse2("ABCDEFGH");
    }

    /**
     * 反转数组
     */
    public static void reverse2(String input) {
        System.out.println(input);
//        String[] array = input.split("");
//        char[] array = input.toCharArray();
        byte[] array = input.getBytes();
        for (int i = 0, x = array.length; i < x; i++, x--) {
            byte temp = array[x - 1];
            array[x - 1] = array[i];
            array[i] = temp;

        }

    //拼接数组的方法可以自己写 System.out.println(
new String(array)); }

 

posted @ 2020-06-23 11:02  LewsKay  阅读(703)  评论(0编辑  收藏  举报