枚举范围内的字符串
我写的:
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/
还是用哈希表简单呀