---
# System prepended metadata

title: LeetCode 1704.Determine if String Halves Are Alike
tags: [Counting, String]

---

###### tags: `String`, `Counting`

# LeetCode 1704.Determine if String Halves Are Alike

You are given a string ```s``` of even length. Split this string into two halves of equal lengths, and let a be the first half and b be the second half.

Two strings are alike if they have the same number of vowels (```'a'```, ```'e'```, ```'i'```, ```'o'```, ```'u'```, ```'A'```, ```'E'```, ```'I'```, ```'O'```, ```'U'```). Notice that ```s``` contains uppercase and lowercase letters.

Return ```true``` if ```a``` and ```b``` are alike. Otherwise, return ```false```.  
  
 

>Example 1:
```
Input: s = "book"
Output: true
Explanation: a = "bo" and b = "ok". a has 1 vowel and b has 1 vowel. Therefore, they are alike.
```
>Example 2:
```
Input: s = "textbook"
Output: false
Explanation: a = "text" and b = "book". a has 1 vowel whereas b has 2. Therefore, they are not alike.
Notice that the vowel o is counted twice.
```

 

### Constraints:

- $2 <= s.length <= 1000$
- ```s.length``` is even.
- $-10^9 <= target <= 10^9$
- ```s``` consists of uppercase and lowercase letters.
---
### Idea:
>
### Solution:

Python:
```python=
class Solution:
    def halvesAreAlike(self, s: str) -> bool:
        x = ['a','e','i','o','u']
        s = s.lower()
        count=0
        p =len(s)//2
        for i in range(p):
            if s[i] in x:
                count+=1
        for k in range(p,len(s)):
            if s[k] in x:
                count-=1
        if count==0:
            return True
        else:
            return False
```

C++:
```cpp=
```