最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java字符串反轉(zhuǎn)的7種方法

 更新時間:2022年02月17日 09:52:01   作者:負債程序猿  
本文主要介紹了java字符串反轉(zhuǎn)的7種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1、用stringBuffer或者stringBuilder自帶的reverse方法

? ? public static String reverseTestOne(String s) {
? ? ? ? return new StringBuffer(s).reverse().toString();
? ? }

2、將字符串拆分為char數(shù)組

    public static String reverseTestTwo(String s) {
        char[] charArray = s.toCharArray();
        int start = 0, end = charArray.length - 1;
        for (; start < end; start++, end--) {
            charArray[start] ^= charArray[end];//采用異或
            charArray[end] ^= charArray[start];
            charArray[start] ^= charArray[end];
        }
        return new String(charArray);
    }

兩數(shù)交換除了用異或還能用其他方法,請移步不借助第三變量實現(xiàn)兩數(shù)交換

3、stringBuffer倒序拼接

    public static String reverseTestThree(String s) {
        StringBuffer sb = new StringBuffer();
        for (int i = s.length() - 1; i >= 0; i--) {
            sb.append(s.charAt(i));
        }
        return sb.toString();
    }

4、利用棧的先進后出

    public static String reverseTestFour(String s) {
        StringBuffer sb = new StringBuffer();
        Stack stack = new Stack();
        for (int i = 0; i < s.length(); i++) {
            stack.push(s.charAt(i));
        }
        while (!stack.isEmpty()) {
            //stack會返回棧頂值,并且會把該值刪除
            sb.append(stack.pop());
        }
        return sb.toString();
    } 

5、二分換位反轉(zhuǎn)

    public static String reverseTestFive(String s) {
        int start = 0;
        int end = s.length() - 1;
        char[] charArray = s.toCharArray();
        while (start < end) {
            //交換首尾char值
            char c = charArray[end];
            charArray[end] = charArray[start];
            charArray[start] = c;
            start++;
            end--;
        }
        return new String(charArray);
    }

6、切割遞歸反轉(zhuǎn)

    public static String reverseTestSix(String s) {
        if (s.length() <= 1) {
            return s;
        }
        return reverseTestSix(s.substring(1)) + s.substring(0, 1);
    }

7、二分遞歸反轉(zhuǎn)

    public static String reverseTestSeven(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 reverseTestSeven(right) + reverseTestSeven(left);
    }

到此這篇關(guān)于java字符串反轉(zhuǎn)的7種方法的文章就介紹到這了,更多相關(guān)java字符串反轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot中如何使用Convert接口實現(xiàn)類型轉(zhuǎn)換器

    Spring Boot中如何使用Convert接口實現(xiàn)類型轉(zhuǎn)換器

    這篇文章主要介紹了Spring Boot中使用Convert接口實現(xiàn)類型轉(zhuǎn)換器的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • spring boot動態(tài)切換數(shù)據(jù)源的實現(xiàn)

    spring boot動態(tài)切換數(shù)據(jù)源的實現(xiàn)

    這篇文章主要介紹了spring boot動態(tài)切換數(shù)據(jù)源的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • intellij idea 2021.2 打包并上傳運行spring boot項目的詳細過程(spring boot 2.5.4)

    intellij idea 2021.2 打包并上傳運行spring boot項目的詳細過程(spring boot 2

    這篇文章主要介紹了intellij idea 2021.2 打包并上傳運行一個spring boot項目(spring boot 2.5.4),本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • Java實現(xiàn)簡單的遞歸操作方法實例

    Java實現(xiàn)簡單的遞歸操作方法實例

    這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)簡單的遞歸操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java注解機制之Spring自動裝配實現(xiàn)原理詳解

    Java注解機制之Spring自動裝配實現(xiàn)原理詳解

    這篇文章主要為大家詳細介紹了Java注解機制之Spring自動裝配實現(xiàn)原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java堆&優(yōu)先級隊列示例講解(上)

    Java堆&優(yōu)先級隊列示例講解(上)

    這篇文章主要通過示例詳細為大家介紹Java中的堆以及優(yōu)先級隊列,文中的示例代碼講解詳細,對我們了解java有一定幫助,需要的可以參考一下
    2022-03-03
  • Gson序列化指定忽略字段的三種寫法詳解

    Gson序列化指定忽略字段的三種寫法詳解

    在我們?nèi)粘J褂胘son序列化框架過程中,經(jīng)常會遇到在輸出json字符串時,忽略某些字段,那么在Gson框架中,要想實現(xiàn)這種方式,可以怎么處理呢,本文就來介紹一下
    2021-10-10
  • 深入了解Springboot核心知識點之?dāng)?shù)據(jù)訪問配置

    深入了解Springboot核心知識點之?dāng)?shù)據(jù)訪問配置

    這篇文章主要為大家介紹了Springboot核心知識點中的數(shù)據(jù)訪問配置,文中的示例代碼講解詳細,對我們了解SpringBoot有一定幫助,快跟隨小編一起學(xué)習(xí)一下吧
    2021-12-12
  • java this引用逃逸詳解

    java this引用逃逸詳解

    這篇文章主要介紹了java this引用逃逸的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • Flink實現(xiàn)特定統(tǒng)計的歸約聚合reduce操作

    Flink實現(xiàn)特定統(tǒng)計的歸約聚合reduce操作

    這篇文章主要介紹了Flink實現(xiàn)特定統(tǒng)計的歸約聚合reduce操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02

最新評論

辽阳市| 长沙县| 乌鲁木齐市| 巨野县| 桦川县| 勐海县| 临沂市| 博客| 广丰县| 乌兰县| 汝城县| 教育| 溧阳市| 宿迁市| 金寨县| 辽源市| 许昌市| 新邵县| 郑州市| 尉氏县| 新丰县| 古田县| 太原市| 和顺县| 塔河县| 山阳县| 满城县| 沿河| 简阳市| 泸州市| 九台市| 绵竹市| 定襄县| 类乌齐县| 深圳市| 新营市| 仁化县| 白银市| 临朐县| 黔西县| 额济纳旗|