題目見這里。
這一題挺直觀的,直接掃一遍即可,遇到是vowel和不是vowel的變化就統計,然后遇到連續的vowel就不統計。
O(n)
的時間,O(1)
的空間。
{% highlight c %}
class EllysNewNickname
{
public :
int getLength(string nickname)
{
bool flag = false;
int res = 0;
for (int i = 0; i < nickname.size(); ++i)
{
if (is_vowel(nickname[i]))
{
if (flag)
continue;
else
{
++ res;
flag = true;
}
}
else
{
if (flag)
{
++ res;
flag = false;
}
else
{
++ res;
}
}
}
return res;
}
bool is_vowel(char c)
{
if ('a' == c || 'e' == c || 'i' == c || 'o' == c || 'u' == c || 'y'== c)
return true;
else
return false;
}
};
{% endhighlight %}