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

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

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

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ù)交換除了用異或還能用其他方法,請(qǐng)移步不借助第三變量實(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、利用棧的先進(jìn)后出

    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會(huì)返回棧頂值,并且會(huì)把該值刪除
            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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

巴林左旗| 连江县| 洛南县| 英吉沙县| 甘洛县| 分宜县| 柘城县| 洛川县| 陆川县| 宣城市| 嘉鱼县| 罗定市| 平昌县| 龙口市| 德兴市| 巨鹿县| 阜平县| 益阳市| 壶关县| 怀来县| 忻城县| 商水县| 阿克陶县| 黎川县| 石河子市| 马公市| 夹江县| 交城县| 南华县| 双桥区| 滁州市| 鸡东县| 台南市| 清新县| 静安区| 武宣县| 府谷县| 常德市| 泽州县| 兴化市| 永平县|