1. 程式人生 > >LeetCode 345. 反轉字串中的母音字母(java 實現)

LeetCode 345. 反轉字串中的母音字母(java 實現)

編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。

示例 1:

輸入: "hello"
輸出: "holle"

示例 2:

輸入: "leetcode"
輸出: "leotcede"

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

//雙指標
class Solution {
    private final static  Set<Character> set=new HashSet(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
    public String reverseVowels(String s) {
        int i=0;
        int j=s.length()-1;
        char []res=new char [j+1];
        while(i<=j){
            char chi=s.charAt(i);
            char chj=s.charAt(j);
            if(!set.contains(chi)){
                res[i++]=chi;
            }else if(!set.contains(chj)){
                res[j--]=chj;
            }else {
                res[i++]=chj;
                res[j--]=chi;
            }
        }
        return new String(res);
        
    }
}

相關推薦

LeetCode 345. 反轉字串母音字母java 實現

編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明: 母音字母不包含字母"y"。 //雙指標 class Solution

課外題:讀取字串母音字母包含大小寫的個數

法一:getchar函式,讀到行末,逐一檢測 #include<stdio.h> int main(){ char c; while((c=getchar())!='\n'){ if(c=='A'||c=='E'||c=='I'||c=='O

LeetCode 345 反轉字串母音字母 Reverse Vowels of a String

用一個容器按序填入所有所有的母音,並用一個字元替換。再將容器逆序輸出填到對應的字元上即可實現。程式碼如下: class Solution { public: string reverseVowels(string s) { vector&

LeetCode刷題記錄——第345反轉字串母音字母

題目描述 編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 1: 輸入: “hello” 輸出: “holle” 示例 2: 輸入: “leetcode” 輸出: “leotcede” 思路分析 將所有母音字母放

Leetcode 345. 反轉字串母音字母 By Python

編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明: 母音字母不包含字母"y"。 思路 設立2個指標,一個從索引0開始向右,一個從末尾向前,根據條件進

leetcode 345.反轉字串母音字母

題目描述: 編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 思路:從前往後找到一個母音字母,再從後往前找到一個母音字母,然後把他們對換;持續這個操作,直到前後兩個方向遍歷到同一個位置。由於每個元素都訪問一次,複雜度應該是O(n)。 inline bool isVowel(

Leetcode 345. 反轉字串母音字母 Java&Python

編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明: 母音字母不包含字母"y"。 這道題目的解題思路與167號問題兩數之和一致,這裡

LeetCode 345. 反轉字串母音字母

編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。示例 1:給定 s = "hello", 返回 "holle".示例 2:給定 s = "leetcode", 返回 "leotcede".注意:母音字母不包括 "y".//思路  :把所有的母音字母都入棧,然後第二次遍歷

LeetCode 345. 反轉字串母音字母(C++)

題目: 編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 1: 給定 s = “hello”, 返回 “holle”. 示例 2: 給定 s = “leetcode”, 返回 “leotcede”. 注意: 母音字母不包括 “y”.

【OS大作業】用多執行緒統計txt檔案字元個數Java實現

問題描述 給定一個txt檔案,利用不同個數的執行緒查詢檔案中某字元的個數,探究執行緒個數與查詢時間的關係。 本作業程式碼使用JAVA實現,版本為10.0.2,使用的IDE為Eclipse4.9.0. 結果測試所用的txt檔案內容為英文,編碼格式為UTF-8。 原始碼 第一版程式碼:(

LeetCode演算法題-Excel Sheet Column TitleJava實現

這是悅樂書的第180次更新,第182篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第39題(順位題號是168)。給定正整數,返回Excel工作表中顯示的相應列標題。例如: 1 - > A. 2 - > B. 3 - > C. 26 - >

LeetCode演算法題-Number of 1 BitsJava實現

這是悅樂書的第186次更新,第188篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第45題(順位題號是191)。編寫一個帶無符號整數的函式,並返回它所具有的“1”位數。例如: 輸入:11 輸出:3 說明:整數11具有二進位制表示000000000000000000000

LeetCode演算法題-Implement Queue Using StacksJava實現

這是悅樂書的第195次更新,第201篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第57題(順位題號是232)。使用棧實現佇列的以下操作。 push(x) - 將元素x推送到佇列的後面。 pop() - 從佇列前面刪除元素。 peek() - 獲取前面的元素。 e

LeetCode-演算法】63. 不同路徑 IIJava實現

題目 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記為“Start” )。機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記為“Finish”)。現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?

劍指offer之二維陣列的查詢Java實現

2. 二維陣列中的查詢 題目描述 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。

LeetCode演算法題-Sum of Two IntegersJava實現

這是悅樂書的第210次更新,第222篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第78題(順位題號是371)。計算兩個整數a和b的總和,但不允許使用運算子+和 - 。例如: 輸入:a = 1,b = 2 輸出:3 輸入:a = -2,b = 3 輸出:1 本次解題

LeetCode演算法題-Range Sum Query ImmutableJava實現

這是悅樂書的第204次更新,第214篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第70題(順位題號是303)。給定整數陣列nums,找到索引i和j(i≤j)之間的元素之和,包括端點。例如: 給定nums = [-2,0,3,-5,2,-1]

劍指offer之將字串轉換成整數Java實現

將字串轉換成整數 NowCoder 題目描述: 將一個字串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。 輸入描述: 輸入一個

劍指offer面試題12:矩陣的路徑Java實現

題目:請設計一個函式,用來判斷在一個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意一個格子開始,每一步可以在矩陣中向左,向右,向上,向下移動一個格子。如果一條路徑經過了矩陣中的某一個格子,則該路徑不能再進入該格子。 例如 a b c e s f c s a d e e 矩

LeetCode 88. 合併兩個有序陣列java 實現

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為一個有序陣列。 說明: 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。 你可以假設 nums1 有足夠的空間(空間大小大於或等於 m + n