字符串-原串翻转

题目描述
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:

"This is nowcoder"
返回:"redocwon si sihT"

  • 解法一
    public String reverseString(String iniString) {
        char[] chas = iniString.toCharArray();
        for(int i = 0, len = chas.length; i < len/2; i++){
            char temp = chas[i];
            chas[i] = chas[len-1-i];
            chas[len-1-i] = temp;
        }
        return new String(chas);
    }
  • 解法二
    public String reverseString(String iniString) {
        String newStr = "";
        for(int i = 0; i < iniString.length(); i++){
            char temp = iniString.charAt(iniString.length() - 1 - i);
            newStr += temp;
        }
        return newStr;
    }
  • 解法三 - 使用额外数据结构(StringBuffer)

  public String reverseString(String iniString) {
        StringBuffer sb = new StringBuffer(iniString);
        return sb.reverse().toString();
  }

你可能感兴趣的:(字符串-原串翻转)