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

简介: 将字符串反转共有四种方法: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);
    }
}



相关文章
|
6月前
|
算法
OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)
OJ刷题:《剑指offer》之单身狗1、2 !(巧用位操作符,超详细讲解!)
|
6月前
|
Java
每日一刷《剑指offer》字符串篇之左旋转字符串
每日一刷《剑指offer》字符串篇之左旋转字符串
56 0
每日一刷《剑指offer》字符串篇之左旋转字符串
|
6月前
|
算法 Java C++
字符串删减(蓝桥杯每日一题)
字符串删减(蓝桥杯每日一题)
65 0
【刷题系列】 Java数组小题(一)
【刷题系列】 Java数组小题(一)
【刷题系列】   Java数组小题(一)
|
人工智能 Java BI
#yyds干货盘点# 第三十五题-字符串字符统计
#yyds干货盘点# 第三十五题-字符串字符统计
95 0
#yyds干货盘点# 第三十五题-字符串字符统计
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第三十六题-字符串字符统计
#yyds干货盘点# 前端歌谣的刷题之路-第三十六题-字符串字符统计
75 0
#yyds干货盘点# 前端歌谣的刷题之路-第三十六题-字符串字符统计
|
C语言 C++ 算法
再学一道算法题:无聊的小明来数1 --按位与
小明这几天非常无聊,于是乎他又给自己找了一个乐子,他随手写一个十进制的数字,然后转换成二进制,数一数二进制中有几个1,请编写程序完成这个过程,注意看看输入、输出格式。
再学一道算法题:无聊的小明来数1 --按位与