class Solution {
public boolean halvesAreAlike(String s) {
Set<Character> vowels = Set.of('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U');
int vowelsCount = 0, midIndex = s.length() / 2;
for (int i = 0; i < midIndex; i++) {
char charA = s.charAt(i);
char charB = s.charAt(midIndex + i);
if (vowels.contains(charA)) vowelsCount++;
if (vowels.contains(charB)) vowelsCount--;
}
return vowelsCount == 0; //Can you explain this specific return part??
}
}
如果我试图得到输出作为简单的返回元音计数,但我没有得到它?为什么我必须使用元音计数==0
2条答案
按热度按时间mzillmmw1#
由于您要创建布尔类
return
语句也应该给予一个布尔值。但是由于vowelsCount
是一个整数,你必须将其转换为布尔值。为了更好地理解将vowelsCount
转换为布尔值的过程,你可以尝试用下面的代码片段替换return vowelsCount == 0;
:(相应地改变逻辑)希望这能有所帮助。
xn1cxnb42#
因为你的方法在布尔所以我们必须返回真或假,在这种情况下,如果vowelsCount是0 vowelsCount==0这个语句是真的,方法返回真,反之亦然.