← Strings

Count Vowels

Easy
Python
def count_vowels(s):
    return sum(1 for c in s if c.lower() in 'aeiou')
Java
public int countVowels(String s){
    int cnt=0;
    for(char c:s.toCharArray())
        if("aeiou".indexOf(Character.toLowerCase(c))!=-1) cnt++;
    return cnt;
}

Key Insight

Python generator concise. Java needs toCharArray() for iteration.

Python → Java Differences

  • generator expression vs loop
  • 'in string' vs indexOf()!=-1
  • Direct iteration vs toCharArray()
Python
def count_vowels(s):
    return sum(1 for c in s if c.lower() in 'aeiou')
Java
public int countVowels(String s){
    int cnt=0;
    for(char c:s.toCharArray())
        if("aeiou".indexOf(Character.toLowerCase(c))!=-1) cnt++;
    return cnt;
}

Algorithm Steps

1. Check each char
2. Count vowels