91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java字符串反轉的方法有哪些

發布時間:2022-02-17 13:41:42 來源:億速云 閱讀:129 作者:小新 欄目:開發技術

這篇文章主要介紹了java字符串反轉的方法有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

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

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

2、將字符串拆分為char數組

    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);
    }

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

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、二分換位反轉

    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、切割遞歸反轉

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

7、二分遞歸反轉

    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);
    }

感謝你能夠認真閱讀完這篇文章,希望小編分享的“java字符串反轉的方法有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禄丰县| 凌海市| 江城| 临安市| 东阳市| 丽水市| 隆德县| 乌兰察布市| 乌拉特前旗| 张家界市| 江门市| 南京市| 锡林郭勒盟| 巴彦县| 涞源县| 夹江县| 育儿| 德庆县| 宁城县| 诸城市| 蒙阴县| 云南省| 万全县| 曲阜市| 海原县| 崇明县| 玉环县| 阆中市| 潞西市| 阳谷县| 兴业县| 儋州市| 双峰县| 宜章县| 上饶市| 三门峡市| 池州市| 南京市| 中宁县| 信宜市| 诸暨市|