国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

345-反轉(zhuǎn)字符串中的元音字母

Tikitoo / 1859人閱讀

摘要:前言今天分享的是反轉(zhuǎn)字符串中的元音字母,原題目要求如下編寫一個函數(shù),以字符串作為輸入,反轉(zhuǎn)該字符串中的元音字母。

前言

今天分享的是反轉(zhuǎn)字符串中的元音字母,原題目要求如下:

編寫一個函數(shù),以字符串作為輸入,反轉(zhuǎn)該字符串中的元音字母。
示例 1:
輸入: "hello"
輸出: "holle"

示例 2:
輸入: "leetcode"
輸出: "leotcede"

說明:
元音字母不包含字母"y"。

補充說明:元音字母為A O E I U a o e i u

解題思路

首先要注意,題目里的要求是把反轉(zhuǎn)字符串中的元音字母,以第一個示例為例子:
從字符串左邊遍歷的時候,遇到的第一個元音字母所在的索引為1。
而從字符串右邊右邊遍歷的時候,遇到的第一個元音字母所在的索引為4.
所以交換它們的位置、

而我的解題思路是把字符串切割成一個字符數(shù)組,從左右兩邊向中間逼近的方式訪問數(shù)組。每當檢索到左右兩邊的元音字母就交換位置,直到把所有元素都訪問一次后結(jié)束。

實現(xiàn)代碼
    /**
     * 元音字母列表
     */
    private char[] vowels={"a","o","e","i","u","A","O","E","I","U"};
    /**
     * 反轉(zhuǎn)字符串中的元音字母
     * @param s
     * @return
     */
    public String reverseVowels(String s) {
        char[] chars=s.toCharArray();
        int length=chars.length;//未訪問的元素個數(shù)
        int leftIndex=0;//從左邊訪問數(shù)組時的索引,模擬指針
        int rightIndex=length-1;//從右邊訪問數(shù)組時的索引,模擬指針
        boolean leftMatch=false;//是否找到符合條件的元素的標志
        boolean rightMatch=false;//是否找到符合條件的元素的標志
        while(length>0){//當未訪問元素為0則無需檢索元素
            if(isVowel(chars[leftIndex])){//判斷從左邊開始遍歷到元素是否為元音字母
                leftMatch=true;//若是,則記錄下標識。停留原位
            }else{
                ++leftIndex;//向右邊逼近
                --length;//未訪問元素個數(shù)減1
            }
            if(isVowel(chars[rightIndex])){//判斷從左邊開始遍歷到元素是否為元音字母
                rightMatch=true;//若是,則記錄下標識。停留原位
            }else{
                --rightIndex;//向左邊逼近
                --length;//未訪問元素個數(shù)減1
            }
            if(leftMatch && rightMatch){//若左右都找到元音字母
                //交換位置上的元素
                char tmp=chars[leftIndex];
                chars[leftIndex]=chars[rightIndex];
                chars[rightIndex]=tmp;
                //重置標志位
                leftMatch=false;
                rightMatch=false;
                ++leftIndex;//向右邊逼近
                --rightIndex;//向左邊逼近
                length=length-2;//未訪問元素個數(shù)減2
            }

        }
        return String.valueOf(chars);
    }

    /**
     * 判斷是否為元音字母
     * @param c
     * @return
     */
    private boolean isVowel(char c){
        for(char vowel:vowels){
            if(vowel==c){
                return true;
            }
        }
        return false;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/76843.html

相關(guān)文章

  • LeetCode 345. Reverse Vowels of a String

    摘要:描述編寫一個函數(shù),以字符串作為輸入,反轉(zhuǎn)該字符串中的元音字母。示例輸入輸出示例輸入輸出說明元音字母不包含字母。找到所有的元音字母索引,第一個索引對應(yīng)的元素和最后一個索引對應(yīng)的元素交換,第二個和倒數(shù)第二個交換,第三個和倒數(shù)第三個交換。 Description Write a function that takes a string as input and reverse only th...

    archieyang 評論0 收藏0
  • 70道前端LeetCode題目集合及視頻講解(持續(xù)更新中...)

    前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關(guān)注。 數(shù)組類 26 刪除排序數(shù)組中的重復(fù)項 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數(shù)組中的重復(fù)項2 88 合并兩個有序數(shù)組 167 兩數(shù)之和II - 輸入有序數(shù)組 118 楊輝三角 169 easy 求眾數(shù) 1...

    mayaohua 評論0 收藏0
  • JavaScript中的算法(附10道面試常見算法題解決方法和思路)

    摘要:中的算法附道面試常見算法題解決方法和思路關(guān)注每日一道面試題詳解面試過程通常從最初的電話面試開始,然后是現(xiàn)場面試,檢查編程技能和文化契合度。值得記住的數(shù)組方法有和。一個好的解決方案是使用內(nèi)置的方法。 JavaScript中的算法(附10道面試常見算法題解決方法和思路) 關(guān)注github每日一道面試題詳解 Introduction 面試過程通常從最初的電話面試開始,然后是現(xiàn)場面試,檢查編程...

    Cruise_Chan 評論0 收藏0
  • 前端 | 每天一個 LeetCode

    摘要:在線網(wǎng)站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...

    張漢慶 評論0 收藏0
  • 小李飛刀:做題第十一彈!

    摘要:第五題對稱二叉樹難度簡單給定一個二叉樹,檢查它是否是鏡像對稱的。第十六題最大連續(xù)的個數(shù)難度簡單給定一個二進制數(shù)組,計算其中最大連續(xù)的個數(shù)。第十八題平方數(shù)之和難度簡單給定一個非負整數(shù),你要判斷是否存在兩個整數(shù)和,使得。 寫在前面 最近忙著調(diào)教新裝備,沒有及時的寫題解,但是沒有在偷懶沒刷題喔~來認真整理下最近做的題目~ 之前考慮按tag來刷題,后來收到了推薦的leetcode題解,就根據(jù)上...

    ytwman 評論0 收藏0

發(fā)表評論

0條評論

Tikitoo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<