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 Title(Java實現)
這是悅樂書的第180次更新,第182篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第39題(順位題號是168)。給定正整數,返回Excel工作表中顯示的相應列標題。例如: 1 - > A. 2 - > B. 3 - > C. 26 - >
LeetCode演算法題-Number of 1 Bits(Java實現)
這是悅樂書的第186次更新,第188篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第45題(順位題號是191)。編寫一個帶無符號整數的函式,並返回它所具有的“1”位數。例如: 輸入:11 輸出:3 說明:整數11具有二進位制表示000000000000000000000
LeetCode演算法題-Implement Queue Using Stacks(Java實現)
這是悅樂書的第195次更新,第201篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第57題(順位題號是232)。使用棧實現佇列的以下操作。 push(x) - 將元素x推送到佇列的後面。 pop() - 從佇列前面刪除元素。 peek() - 獲取前面的元素。 e
【LeetCode-演算法】63. 不同路徑 II(Java實現)
題目 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記為“Start” )。機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記為“Finish”)。現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?
劍指offer之二維陣列中的查詢(Java實現)
2. 二維陣列中的查詢 題目描述 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
LeetCode演算法題-Sum of Two Integers(Java實現)
這是悅樂書的第210次更新,第222篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第78題(順位題號是371)。計算兩個整數a和b的總和,但不允許使用運算子+和 - 。例如: 輸入:a = 1,b = 2 輸出:3 輸入:a = -2,b = 3 輸出:1 本次解題
LeetCode演算法題-Range Sum Query Immutable(Java實現)
這是悅樂書的第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