Problem: 1704. 判断字符串的两半是否相似
解题方法
- 1,hashset 元音字母
- 2,遍历s的二分之一,记录左边与右边的元音个数,left++,right++
- 3,return left==right
复杂度
-
时间复杂度: O(n/2), n为s的长度
-
空间复杂度: O(1)
Code
class Solution {
public boolean halvesAreAlike(String s) {
int left = 0;
int right = 0;
HashSet<Character> set = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
for (int i = 0,j=s.length()/2; j < s.length(); i++,j++) {
if(set.contains(s.charAt(i))) left++;
if(set.contains(s.charAt(j))) right++;
}
return left==right;
}
}