1704. Determine if String Halves Are Alike
Last updated
Last updated
/**
* Time complexity : O(N), since we need to iterate substring a and b.
* Space complexity : O(1), since we do not need extra space.
* Here we do not take the input s into consideration.
*/
class Solution {
public boolean halvesAreAlike(String s) {
int vowelsDiff = 0;
for(int i = 0, j = s.length()-1; i < j; i++, j--) {
if(isVowel(s.charAt(i))) {
vowelsDiff++;
}
if(isVowel(s.charAt(j))) {
vowelsDiff--;
}
}
return vowelsDiff == 0;
}
private boolean isVowel(char ch) {
switch(ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': return true;
}
return false;
}
}