describe

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.	
Copy the code

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.
Copy the code

Example 3:

Input: s = "MerryChristmas"
Output: false
Copy the code

Example 4:

Input: s = "AbCdEfGh"
Output: true
Copy the code

Note:

2 <= s.length <= 1000
s.length is even.
s consists of uppercase and lowercase letters.
Copy the code

parsing

The first half of the string is iterated over the last half of the string, and the second half is iterated over the last half of the string.

answer

class Solution(object):
    def halvesAreAlike(self, s):
        """
        :type s: str
        :rtype: bool
        """
        v = {'a':1, 'e':1, 'i':1, 'o':1, 'u':1, 'A':1, 'E':1, 'I':1, 'O':1, 'U':1}
        i = 0
        a, b=0, 0
        for i in range(len(s)//2):
            if s[i] in v:
                a+=1
            if s[-i-1] in v:
                b+=1
        return a==b
        	      
		
Copy the code

The results

The linked linked submissions in Python online submissions Determine whether some of their Halves Are Alike. Submissions in Python online submissions for determining if String Halves Are Alike.Copy the code

Original link: leetcode.com/problems/de…

Your support is my biggest motivation