美文网首页
Java将字符串反转的7种方法

Java将字符串反转的7种方法

作者: stadol | 来源:发表于2019-07-14 18:56 被阅读0次

    //方法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();

      intn = s.length - 1;

      int halfLength = n / 2;

      for(int i = 0; i <= halfLength; i++) {

      chartemp = s[i];

      s[i] = s[n - i];

      s[n - i] = temp;

      }

      return new String(s);

    }

    //方法6

    public static String reverse6(String s) {

      char[] str = s.toCharArray();

      int begin = 0;

      int end = s.length() - 1; 

      while(begin < end) {

      str[begin] = (char) (str[begin] ^ str[end]);

      str[end] = (char) (str[begin] ^ str[end]);

      str[begin] = (char) (str[end] ^ str[begin]);

      begin++;

      end--;  }

    return new String(str);

    }

    //方法7

    import java.util.Stack;

    public class StringReverse {   

    public static String reverse7(String s) {

      char[] str = s.toCharArray();

      Stack<Character> stack = new Stack<Character>();

      for (int i = 0; i < str.length; i++)

      stack.push(str[i]);

      String reversed = "";

      for (int i = 0; i < str.length; i++)

      reversed += stack.pop();

      return reversed;

    }

    }

    相关文章

      网友评论

          本文标题:Java将字符串反转的7种方法

          本文链接:https://www.haomeiwen.com/subject/eieikctx.html