LintCode_chapter1_section1_two-strings-are-anagrams

容易
两个字符串是变位词
写出一个函数anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的
样例
输入 s="abcd" t="dcab"
输出 true

解题思路

判断题目给出的两个字符串是否是anagrams,即两个字符串的字母只是次序打乱.

  • 先对两个字符串中字符进行计数
  • 可以遍历字符串对字符计数
  • 可以将计数数据保存成dir格式
    • 需要注意的是计数的时候对第一次出现的字符的处理,我采用的是异常处理,也可以使用if-else语句
  • 再对计数后的数据进行比较
  • Python可以直接使用==进行dir是否相等的判断

some text
[some text](javascript:alert('xss'))
<button>asdasdasd</button>

参考答案

class Solution:
    """
    @param s: The first string
    @param b: The second string
    @return true or false
    """

    def anagram(self, s, t):
        # write your code here
        countFirst = self.countChars(s)
        countSecond = self.countChars(t)
        return countFirst == countSecond

    #
    def countChars(self, stringToCount):
        result = {}
        for item in stringToCount:
            try:
                result[item] += 1
            except KeyError:
                result[item] = 1
        return result
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 所有数据仅为2017年1月至今的数据 钉钉标签为”钉钉” 非钉钉标签为“其他”+“测试”。 测试占比极少 所有活动...
    ACG风景阅读 4,451评论 0 50
  • 知道吗,地球这样的行星,是产生不了重元素的 你身体里的铁,来自璀璨的超新星爆炸 血液里的锌,源自两次中子星对撞后喷...
    卢诗翰阅读 12,029评论 1 1
  • 零维度是人生之始。有的人可能一生都停留在零维度上,就社会学来讲,如果一个人只是完成了他生物学的功能,他也仅仅停留在...
    c5e167a5ca11阅读 5,186评论 1 6
  • 那是一栋老房子,大概有50多年了吧。我们家住在四楼,一楼一直是空着的,总有小孩子去一楼的墙上门上乱写乱画,甚...
    冥冥酱阅读 2,656评论 0 1

友情链接更多精彩内容