题目见这里。
这一题挺直观的,直接扫一遍即可,遇到是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 %}
网友评论