如何将字符串反转?面试篇(第九天)

简介: 将字符串反转共有四种方法:StringBuilder的reverse方法、使用数组char[]从尾部开始读取字符拼接、使用String 的 CharAt 方法取出字符串中的各个字符、使用递归的方法,实现字符串反转,本文带大家具体了解这四种方法。

第一种方式:StringBuilder的reverse方法



  StringBuilder str = new StringBuilder("abcd");
        System.out.println(str.reverse());

42.png

第二种方式:使用数组char[]从尾部开始读取字符拼接



String str = "abcd";
        char [] chars = str.toCharArray();
        String result = "";
        for(int i=chars.length - 1; i>=0; i--){
            result += chars[i];
        }
        System.out.println(result);


43.png


第三种方式:使用String 的 CharAt 方法取出字符串中的各个字符



44.png


String s = "abcd";
        int length = s.length();
        String reverse = "";
        for(int i = 0; i < length; i++)
         reverse = s.charAt(i) + reverse;
        System.out.println(reverse);


第四种方式:使用递归的方法,实现字符串反转



45.png


public class Main {
    public static void main(String[] args) {
        String a = reverse("abcd");
        System.out.println(a);
    }
    public static String reverse(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 reverse(right) + reverse(left);
    }
}



相关文章
|
5天前
|
算法
OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)
OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)
|
5天前
|
算法 Java C++
字符串删减(蓝桥杯每日一题)
字符串删减(蓝桥杯每日一题)
40 0
每日一题——小乐乐改数字
小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十二题-去除重复元素
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十二题-去除重复元素
52 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百二十二题-去除重复元素
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十九题-获取字符串的长度
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十九题-获取字符串的长度
56 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十九题-获取字符串的长度
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第三十六题-字符串字符统计
#yyds干货盘点# 前端歌谣的刷题之路-第三十六题-字符串字符统计
50 0
#yyds干货盘点# 前端歌谣的刷题之路-第三十六题-字符串字符统计
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第五十三题-整数反转
#yyds干货盘点# 前端歌谣的刷题之路-第五十三题-整数反转
30 0
#yyds干货盘点# 前端歌谣的刷题之路-第五十三题-整数反转
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
58 0
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第四十五题-数组反转
#yyds干货盘点# 前端歌谣的刷题之路-第四十五题-数组反转
71 0
#yyds干货盘点# 前端歌谣的刷题之路-第四十五题-数组反转
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第四十六题-数组转字符串
#yyds干货盘点# 前端歌谣的刷题之路-第四十六题-数组转字符串
65 0
#yyds干货盘点# 前端歌谣的刷题之路-第四十六题-数组转字符串