leetcode345. 反轉字符串中的元音字母

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

示例 1:

輸入: "hello"
輸出: "holle"
示例 2:

輸入: "leetcode"
輸出: "leotcede"
說明:
元音字母不包含字母"y"。

思路:就是一趟雙指針掃描。

class Solution {private final static HashSet<Character> vowels = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));public String reverseVowels(String s) {if (s == null) return null;int i = 0, j = s.length() - 1;char[] result = new char[s.length()];while (i <= j) {char ci = s.charAt(i);char cj = s.charAt(j);if (!vowels.contains(ci)) {result[i++] = ci;} else if (!vowels.contains(cj)) {result[j--] = cj;} else {result[i++] = cj;result[j--] = ci;}}return new String(result);}
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444461.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444461.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444461.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis:10---List對象

一、列表對象概述列表類型是用來存儲多個有序的字符串&#xff0c;一個列表最多可以存儲多個元素。列表是一種比較靈活的數據結構&#xff0c;它可以充當棧和隊列的角色&#xff0c;在實際開發上有很多應用場景特點&#xff1a;一個列表可以存儲多個字符串&#xff0c;相同元素…

Redis:09---Hash對象

一、哈希對象簡介幾乎所有的編程語言都提供了哈希&#xff08;hash&#xff09;類型&#xff0c;它們的叫法可能是哈希、字典、關聯數組哈希又稱散列在Redis中&#xff0c;哈希類型是指鍵值本身又是一個鍵值對結構&#xff0c;形如value{{field1&#xff0c;value1}&#xff0c…

leetcode329. 矩陣中的最長遞增路徑

給定一個整數矩陣&#xff0c;找出最長遞增路徑的長度。 對于每個單元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四個方向移動。 你不能在對角線方向上移動或移動到邊界外&#xff08;即不允許環繞&#xff09;。 示例 1: 輸入: nums [ [9,9,…

Query Ajax 實例 ($.ajax、$.post、$.get)

Jquery在異步提交方面封裝的很好&#xff0c;直接用AJAX非常麻煩&#xff0c;Jquery大大簡化了我們的操作&#xff0c;不用考慮瀏覽器的詫異了。 推薦一篇不錯的jQuery Ajax 實例文章&#xff0c;忘記了可以去看看&#xff0c;地址為&#xff1a;http://www.cnblogs.com/yeer/a…

C++:18---const關鍵字(附常量指針、指針常量、常量指針常量)

一、const變量的一些基本特點 ①const修飾的變量不能被修改const int a=10; a=20;//錯誤②因為const修飾的變量不能被修改,所以必須被初始化int a=10; const int b=a; //正確 const int c=10; //正確③const修飾的變量可以賦值給其他值const int a=10; int b=a;//正確④可以有…

C:01---數據類型與ASCII

一、整型 int 取值范圍:-32768~32767unsigned int 取值范圍:0~65535short /short int 取值范圍:比int小unsigned short 無符號短整型long 長整型定義時,后面加上l或L有符號與無符號數: unsigned:無符號數,一般用來表示數據signed:有符號數,一般用來表示數字整型占…

leetcode330. 按要求補齊數組 頂級難度玄學貪心

給定一個已排序的正整數數組 nums&#xff0c;和一個正整數 n 。從 [1, n] 區間內選取任意個數字補充到 nums 中&#xff0c;使得 [1, n] 區間內的任何數字都可以用 nums 中某幾個數字的和來表示。請輸出滿足上述要求的最少需要補充的數字個數。 示例 1: 輸入: nums [1,3], …

C:02---scanf、printf

一、printf 控制符 ①精度控制:輸入小數點后m位(%.mf)。右對齊5位,保留小數點后m位(%d.mf)%f、%lf默認輸出6位小數②寬度:%md(打印m為,右對齊,多出m位照常打印)。%-md(打印m位,左對齊,多出m位照常打印)③長度:h表示短(打印短整型short:%hd),l表示長(打印長…

C++:20---成員變量初始化方式

成員變量初始化有三種方式: 在構造函數體內賦值初始化在自定義的公有函數體中賦值初始化(一般用于成員變量的初始化)在構造函數的成員初始化列表初始化一、構造函數體內初始化 說明:在構造函數體內的初始化方式,本質是是為成員變量賦值,而不是真正意義上的初始化,這點要…

leetcode339. 嵌套列表權重和

給定一個嵌套的整數列表&#xff0c;請返回該列表按深度加權后所有整數的總和。 每個元素要么是整數&#xff0c;要么是列表。同時&#xff0c;列表中元素同樣也可以是整數或者是另一個列表。 示例 1: 輸入: [[1,1],2,[1,1]] 輸出: 10 解釋: 因為列表中有四個深度為 2 的 1…

C++:19---this指針

一、this指針介紹 概念:this指針是成員函數的一個隱式參數,在類中本質上就是對象的指針(常量指針)特點:在成員函數中可通過this指針區別成員變量與形參變量this可以顯式調用示例代碼:class Cperson{private:int age;float height;public:void InitPerson(int age,float hei…

leetcode346. 數據流中的移動平均值

給定一個整數數據流和一個窗口大小&#xff0c;根據該滑動窗口的大小&#xff0c;計算其所有整數的移動平均值。 示例: MovingAverage m new MovingAverage(3); m.next(1) 1 m.next(10) (1 10) / 2 m.next(3) (1 10 3) / 3 m.next(5) (10 3 5) / 3 思路&#xff1…

(二十)TCPIP面試寶典-進入大廠必備總結(中)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 前兩篇文…

leetcode263. 丑數

編寫一個程序判斷給定的數是否為丑數。 丑數就是只包含質因數 2, 3, 5 的正整數。 示例 1: 輸入: 6 輸出: true 解釋: 6 2 3 示例 2: 輸入: 8 輸出: true 解釋: 8 2 2 2 示例 3: 輸入: 14 輸出: false 解釋: 14 不是丑數&#xff0c;因為它包含了另外一個質因數 7。…

(二十一)TCPIP面試寶典-進入大廠必備總結(下)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 上一篇文…

C++:23 再議const的用法(下)

上一篇文章折騰了一波粉絲,那么這一篇文章稍微溫柔一些。 我主要開始說如何正確使用const 1.不能將const 修飾的任何對象、引用和指針作為賦值表達式的左值。 const int cx=100; const int & rcx=cx; const int * pcx=&cx; cx=200; //error rcx=200; //error *pcx=200…

C++:22 再議const的作用(上)

我在C++:18篇里說過const的用法,這里我有必要再提升進階下const的理解。 因為你可能只知道他是怎么用的,但是他為什么這樣用,其他用法呢? 首先回顧下const有什么主要的作用? (1)可以定義const常量,具有不可變性。 (2)便于進行類型檢查,使編譯器對處理內容有更多了解…

leetcode57. 插入區間

給出一個無重疊的 &#xff0c;按照區間起始端點排序的區間列表。 在列表中插入一個新的區間&#xff0c;你需要確保列表中的區間仍然有序且不重疊&#xff08;如果有必要的話&#xff0c;可以合并區間&#xff09;。 示例 1: 輸入: intervals [[1,3],[6,9]], newInterval …

C:03---運算符優先級

二話不說先看運算符的優先級表: 一、逗號運算符 格式:整個逗號表達式的值返回的結果是最后一個表達式的值使用起來,最好加上括號來返回最后一個表達式的值。否則逗號表達式的意義將失效(見下面演示案例)(表達式1, 表達式2, 表達式3....); #include <stdio.h> int ma…

C++: 21---引用和指針

一般說到誰和誰怎么樣,要么說兩者的相似點,要么兩者的區別,這里我們也要說二者的區別和聯系,同時,也不僅僅是區別和聯系這么簡單,因為你可能會發現在變量賦值,函數傳參這兩點還是有很多值得品一品的。 最直觀的賦值方面的區別 首先我們先說二者的區別和聯系。 (1)指針…