Java實現字符串反轉

  總結一道 Java 面試常見編程題:將 'abc123' 字符串反轉,把你能想到的方法都寫下來。面試

  1. 利用 StringBuffer 或 StringBuilder 的 reverse 成員方法:編程

  // StringBuffer
  public static String reverse1(String str) {
    return new StringBuilder(str).reverse().toString();
  }

  2. 利用 String 的 toCharArray 方法先將字符串轉化爲 char 類型數組,而後將各個字符進行從新拼接:數組

  // toCharArray
  public static String reverse2(String str) {
    char[] chars = str.toCharArray();
    String reverse = "";
    for (int i = chars.length - 1; i >= 0; i--) {
      reverse += chars[i];
    }
    return reverse;
  }

  3. 利用 String 的 CharAt 方法取出字符串中的各個字符:測試

  // charAt
  public static String reverse3(String str) {
    String reverse = "";
    int length = str.length();
    for (int i = 0; i < length; i++) {
      reverse = str.charAt(i) + reverse;
    }
    return reverse;
  }

  最後補充 main 方法中的測試代碼:ui

  public static void main(String[] args) {
    String s = "abc123";

    System.out.println("----------------");
    for (int i = s.length() - 1; i >= 0; i--) {
      System.out.print(s.charAt(i));
    }
    System.out.println("----------------");

    System.out.println("變換前: " + s);
    System.out.println("變換後: " + reverse1(s));
    System.out.println("變換後: " + reverse2(s));
    System.out.println("變換後: " + reverse3(s));
  }
相關文章
相關標籤/搜索