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


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

    }

    }

  • 相关阅读:
    通过域名方式决定使用哪个数据库
    OpenERP/Odoo命令行参数
    修改pip源
    解决python "Non-ASCII character"错误
    Synergy 鼠标和键盘共享软件
    java 线程复习笔记
    常用设计模式--代理模式
    数据结构--二叉树
    mysql 索引的数据结构(B树和B+树)
    JS更改树型json的key键
  • 原文地址:https://www.cnblogs.com/CQqfjy/p/12262698.html
Copyright © 2020-2023  润新知