您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“LeetCode如何反轉(zhuǎn)字符串中的元音字母”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“LeetCode如何反轉(zhuǎn)字符串中的元音字母”這篇文章吧。
1,問題簡述
編寫一個(gè)函數(shù),以字符串作為輸入,反轉(zhuǎn)該字符串中的元音字母。
2,示例
示例 1:
輸入:"hello"
輸出:"holle"
示例 2:
輸入:"leetcode"
輸出:"leotcede"
提示:
元音字母不包含字母 "y" 。
3,題解程序
雙指針的使用
4,題解程序
import java.util.HashSet;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ReverseVowelsTest {
public static void main(String[] args) {
String s = "hello";
String reverseVowels = reverseVowels(s);
System.out.println("reverseVowels = " + reverseVowels);
}
public static String reverseVowels(String s) {
HashSet<Character> hashSet = new HashSet<>(Stream.of('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U').collect(Collectors.toList()));
if (s == null || s.length() == 0) {
return s;
}
int i = 0;
int j = s.length() - 1;
char[] result = new char[s.length()];
while (i <= j) {
char ci = s.charAt(i);
char cj = s.charAt(j);
if (!hashSet.contains(ci)) {
result[i++] = ci;
} else if (!hashSet.contains(cj)) {
result[j--] = cj;
} else {
result[i++] = cj;
result[j--] = ci;
}
}
return new String(result);
}
}
5,題解程序圖片版
以上是“LeetCode如何反轉(zhuǎn)字符串中的元音字母”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。