roblem taken from LeetCode // Problem Statement : // You are given a string. // Write a function that takes a string as input and reverse only the vowels of a string. // Example : // Sample Input - 1 : // "hello" // Sample Output - 1 : // "holle" // Sample Input - 2 : // "leetcode" // Sample Output - 2 : // "leotcede" class Solution { public: string reverseVowels(string s) { int i = 0 , j = s.size() - 1; while(i < j) { while(i < j && (s[i] != 'a' && s[i] != 'e' && s[i] != 'i' && s[i] != 'o' && s[i] != 'u' && s[i] != 'A' && s[i] != 'E' && s[i] != 'I' && s[i] != 'O' && s[i] != 'U' )) { i++; } while(j > i && (s[j] != 'a' && s[j] != 'e' && s[j] != 'i' && s[j] != 'o' && s[j] != 'u' && s[j] != 'A' && s[j] != 'E' && s[j] != 'I' && s[j] != 'O' && s[j] != 'U' )) { j--; } if(i < j) { swap(s[i] , s[j]); i++; j--; } } return s
Problem taken from LeetCode
// Problem Statement :
// You are given a string.
// Write a function that takes a string as input and reverse only the vowels of a string.
// Example :
// Sample Input - 1 :
// "hello"
// Sample Output - 1 :
// "holle"
// Sample Input - 2 :
// "leetcode"
// Sample Output - 2 :
// "leotcede"
class Solution {
public:
string reverseVowels(string s) {
int i = 0 , j = s.size() - 1;
while(i < j) {
while(i < j &&
(s[i] != 'a' &&
s[i] != 'e' &&
s[i] != 'i' &&
s[i] != 'o' &&
s[i] != 'u' &&
s[i] != 'A' &&
s[i] != 'E' &&
s[i] != 'I' &&
s[i] != 'O' &&
s[i] != 'U'
)) {
i++;
}
while(j > i &&
(s[j] != 'a' &&
s[j] != 'e' &&
s[j] != 'i' &&
s[j] != 'o' &&
s[j] != 'u' &&
s[j] != 'A' &&
s[j] != 'E' &&
s[j] != 'I' &&
s[j] != 'O' &&
s[j] != 'U'
)) {
j--;
}
if(i < j) {
swap(s[i] , s[j]);
i++;
j--;
}
}
return s;.
Step by step
Solved in 3 steps