说明:字符串不仅只包含小写字母。
示例 1:
输入:"tactcoa"
输出:True
解释:排列有 "tacocat"、"atcocta",等等
示例 2:
输入:"abcda"
输出:False
我的思路:
如果输入的字符串长度是偶数倍,所以每个字符的次数都是偶数倍
如果输入的字符串长度是奇数倍,最多只能有一个字符的次数是奇数倍
def f(n):
if len(n)%2==0:
flag = 1
d={}
for i in n:
d[i] = d.get(i,0)+1
for j in d.values():
if j%2==0:
continue
else:
flag = 0
if flag:
return 1
else:
return 0
else:
flag = 0
d={}
for j in n:
d[j] = d.get(j,0)+1
for i in d.values():
if i/2==0:
flag=0
continue
if i%2==1:
flag+=1
if flag<=1:
return 1
else:
return 0
a = input()
if f(a):
print("True")
else:
print("False")
最后一次
给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。
最新推荐文章于 2023-08-31 17:10:11 发布
这篇博客探讨了如何编写一个Python函数,用于检查给定的字符串是否可以通过重新排列字符形成一个回文串。文章深入解析了算法思路,可能涉及双指针、哈希映射等技术,并给出了具体的实现代码示例。
6170

被折叠的 条评论
为什么被折叠?



