您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

回文排列

IT之一小佬 发布时间:2021-02-19 13:09:31 ,浏览量:0

回文排列

给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。

回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。

回文串不一定是字典当中的单词。

示例1:

  • 输入:"tactcoa"
  • 输出:true(排列有"tacocat"、"atcocta",等等)

示例代码:

from collections import Counter


class Solution(object):
    def canPermutePalindrome(self, s):
        """
        :type s: str
        :rtype: bool
        """
        count = [i for i in Counter(s).values() if i % 2 == 1]
        return len(count) < 2


a = Solution()
# b = a.canPermutePalindrome('abcdcba')
b = a.canPermutePalindrome('abcdcab')
# b = a.canPermutePalindrome('abcdcbx')
print(b)

运行效果:

解题思路:

详细了解python中的counter()、elements()、most_common()和subtract()函数的用法,查看博文:https://blog.csdn.net/weixin_44799217/article/details/112385474

  • 借助counter直接计数
  • counter返回的是字典类型,值是出现次数
  • 奇数只有0个或1个可以达到回文效果
关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0396s