Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0b29185

Browse files
0345 reverse-vowels-of-a-string
1 parent 2865d21 commit 0b29185

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Reverse Vowels of a String
2+
3+
Write a function that takes a string as input and reverse only the vowels of a string.
4+
5+
## Example 1
6+
7+
Input: "hello"
8+
9+
Output: "holle"
10+
11+
## Example 2
12+
13+
Input: "leetcode"
14+
15+
Output: "leotcede"
16+
17+
## Note
18+
19+
The vowels does not include the letter "y".
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* @param {string} s
3+
* @return {string}
4+
*/
5+
var reverseVowels = function(s) {
6+
let i = 0, j = s.length - 1;
7+
let vowels = ['a','e','i','o','u','A','E','I','O','U'];
8+
let result=[];
9+
while (i <= j) {
10+
if (vowels.includes(s[i]) && vowels.includes(s[j])) {
11+
result[i] = s[j];
12+
result[j] = s[i];
13+
i++;
14+
j--;
15+
}else if(vowels.includes(s[i])){
16+
result[j] = s[j];
17+
j--;
18+
}else if(vowels.includes(s[j])){
19+
result[i] = s[i];
20+
i++;
21+
}else{
22+
result[j] = s[j];
23+
result[i] = s[i];
24+
i++,j--;
25+
}
26+
}
27+
return result.join('');
28+
};
29+
30+
var reverseVowels1 = function(s) {
31+
let vowels = s.match(/[aeiou]/gi);
32+
return s.replace(/[aeiou]/gi, () => vowels.pop());
33+
};
34+
35+
console.log(reverseVowels("leetcode"));

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /