StringBuiler的reverse()的方法不在讨论范围,如有需要,自行查阅API

1、最简单的就是使用for循环,将字符串分割成字符数组,如何使用一个新的字符串变量进行拼接接收

```java
 public String reverseStringTwo(String str){
        int strLength = str.length();
        String newStr = "";
        for (int i = 0; i < strLength; i++) {
            newStr += str.charAt(i);

        }
        return newStr;
    }
```

2、使用递归,原理是一样的
```java
 //递归
    public String reverseStringThree(String str){
        int strLength = str.length();
        if (strLength <= 1){
            return str;
        }
        return reverseStringThree(str.substring(1)) + str.charAt(0);
    }
```

3、不额外使用新的空间,在原地进行反转字符串
```java
 public void reverseString(char[] s) {
        for (int i = 0; i < s.length / 2; i++) {
            char temp = s[i];
            s[i] = s[s.length-i-1];
            s[s.length-i-1] = temp;
        }
        for (int i = 0; i < s.length; i++) {
            System.out.print(s[i] + " ");
        }
    }
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐