枚举范围内的字符串
我写的:
public int VowelStrings(string[] words, int left, int right) {
string s="aeiou";
int k=0;
for(int i=left;i<=right;i++)
{
int x=0,y=0;
string word= words[i];
int wordLong=word.Length ;
char start=word[0];
char end=word[wordLong-1];
foreach( char n in s)
{
if(n==start)
{
x++;
}
if(n==end)
{
y++;
}
}
if(x==1&&y==1)
{
k++;
}
}
return k;
}
答案:
public class Solution {
public int VowelStrings(string[] words, int left, int right) {
ISet<char> vowels = new HashSet<char>() { 'a', 'e', 'i', 'o', 'u' };
int ans = 0;
for (int i = left; i <= right; ++i) {
string word = words[i];
if (vowels.Contains(word[0]) && vowels.Contains(word[word.Length - 1])) {
++ans;
}
}
return ans;
}
}
作者:力扣官方题解
链接:https://leetcode.cn/problems/count-the-number-of-vowel-strings-in-range/solutions/2515213/tong-ji-fan-wei-nei-de-yuan-yin-zi-fu-ch-dau9/
还是用哈希表简单呀
浙公网安备 33010602011771号