g0301_0400.s0345_reverse_vowels_of_a_string.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0301_0400.s0345_reverse_vowels_of_a_string;
// #Easy #String #Two_Pointers #2022_07_11_Time_3_ms_(98.02%)_Space_42.2_MB_(98.08%)
/**
* 345 - Reverse Vowels of a String\.
*
* Easy
*
* Given a string `s`, reverse only all the vowels in the string and return it.
*
* The vowels are `'a'`, `'e'`, `'i'`, `'o'`, and `'u'`, and they can appear in both cases.
*
* **Example 1:**
*
* **Input:** s = "hello"
*
* **Output:** "holle"
*
* **Example 2:**
*
* **Input:** s = "leetcode"
*
* **Output:** "leotcede"
*
* **Constraints:**
*
* * 1 <= s.length <= 3 * 105
* * `s` consist of **printable ASCII** characters.
**/
public class Solution {
private boolean isVowel(char c) {
return c == 'a' || c == 'A' || c == 'e' || c == 'E' || c == 'i' || c == 'I' || c == 'o'
|| c == 'O' || c == 'u' || c == 'U';
}
public String reverseVowels(String str) {
int i = 0;
int j = str.length() - 1;
char[] str1 = str.toCharArray();
while (i < j) {
if (!isVowel(str1[i])) {
i++;
} else if (!isVowel(str1[j])) {
j--;
} else {
// swapping
char t = str1[i];
str1[i] = str1[j];
str1[j] = t;
i++;
j--;
}
}
return String.copyValueOf(str1);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy