Skip to content

Commit 9e904b7

Browse files
committed
Reverse Vowels of a String
1 parent 26f87f3 commit 9e904b7

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

Diff for: Reverse Vowels of a String.js

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*Write a function that takes a string as input and reverse only the vowels of a string.
2+
3+
Example 1:
4+
Given s = "hello", return "holle".
5+
6+
Example 2:
7+
Given s = "leetcode", return "leotcede".
8+
9+
Note:
10+
The vowels does not include the letter "y".*/
11+
12+
/**
13+
* @param {string} s
14+
* @return {string}
15+
*/
16+
var reverseVowels = function(s) {
17+
if(s == '' )
18+
return s
19+
letters = s.split('')
20+
i = 0
21+
j = letters.length-1
22+
while(letters[i] && !isVowel(letters[i]))
23+
i++
24+
while(letters[i] && !isVowel(letters[j]))
25+
j--
26+
while(i<j){
27+
letters = swap(letters,i,j)
28+
i++
29+
j--
30+
while(letters[i] && !isVowel(letters[i]))
31+
i++
32+
while(letters[i] && !isVowel(letters[j]))
33+
j--
34+
}
35+
return letters.join('')
36+
};
37+
38+
var isVowel = function(letter){
39+
if(letter.match(/[a-zA-Z]/i) == null)
40+
return false
41+
vowels = ['a','A','e','E','i','I','o','O','u','U']
42+
return vowels.indexOf(letter) != -1
43+
}
44+
45+
var swap = function(arr,i,j){
46+
temp = arr[i]
47+
arr[i] = arr[j]
48+
arr[j] = temp
49+
return arr
50+
}

0 commit comments

Comments
 (0)