中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

尼木县| 邵武市| 吴旗县| 扬中市| 申扎县| 南木林县| 惠安县| 木兰县| 莱西市| 卫辉市| 平邑县| 廊坊市| 佛学| 石河子市| 镇宁| 温宿县| 皮山县| 鹤山市| 垦利县| 安西县| 齐河县| 陇川县| 连州市| 兴隆县| 新密市| 威信县| 镇沅| 通河县| 靖江市| 东山县| 宝兴县| 丰原市| 德化县| 阜宁县| 苏州市| 泰安市| 北票市| 华池县| 绥德县| 蓬溪县| 湖口县|