给定一个字符串,我们的任务是检查字符串的两半是否具有相同的字符集。为了解决这个问题,我们首先从中间拆分字符串,这样我们得到了两半,现在我们检查每个半角是否具有相同的字符集。如果字符串的长度不是偶数,则忽略中间元素并检查其余部分。
Step 1: Given a string. Step 2: Break the input string into two parts. Step 3: Then convert both parts into a dictionary using Counter(iterator) method and each dictionary contains its character as key and frequency as value. Step 4: Now compare these two dictionaries. Here we use == operator. First we checks keys of both dictionaries are same or not, then checks for values of each key. If both cases are true then two halves have the same set of characters.
from collections import Counter def checkhalves(input): length = len(input) if (length % 2 != 0): first = input[0:int(length / 2)] second = input[(int(length / 2)) + 1:] else: first = input[0:int(length / 2)] second = input[int(length / 2):] if Counter(first) == Counter(second): print ("Both halves are same") else: print ("Both halves are not same ") # Driver program if __name__ == "__main__": input = input("Enter The String") checkhalves(input)
输出结果
Enter The String abba Both halves are same