定义:当一个字符串只有元音字母(aeiouAEIOU)组成,称为元音字符串。
现给定一个字符串,请找出其中最长的元音字符子串,并返回其长度;如果找不到,则返回0。
解答要求时间限制:1000ms, 内存限制:256MB 输入子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。
一个字符串,其长度范围: 0 < length <= 65535。
输出字符串仅由字符
a-z
和A-Z
组成。
一个整数,表示最长的元音字符子串的长度。
样例输入
asdbuiodevauufgh
输出
3
public static void main(String[] args) { Scanner cin = new Scanner(System.in, StandardCharsets.UTF_8.name()); String input = cin.nextLine(); cin.close(); System.out.println(getLongestVowelStringLength(input)); } // 待实现函数,在此函数中填入答题代码 private static int getLongestVowelStringLength(String input) { String str = "aeiouAEIOU"; Stack<Character> sta = new Stack<>(); int size = sta.size(); for (int i = 0; i < input.length(); i++) { char cha = input.charAt(i); if (str.contains("" + cha)) { sta.push(cha); } else { size = Math.max(size, sta.size()); sta.clear(); } } return Math.max(size, sta.size()); }