zoukankan      html  css  js  c++  java
  • Leetcode 242.有效的字母异位词(Python3)

    题目:

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

    示例 1:

    输入: s = "anagram", t = "nagaram"
    输出: true
    

    示例 2:

    输入: s = "rat", t = "car"
    输出: false

    说明:
    你可以假设字符串只包含小写字母。

    进阶:
    如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

    解答:

    方法一:对字符串进行排序,如果排序后的结果相同则认为是字母异位词。

    class Solution:
        def isAnagram(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: bool
            """
            return sorted(s) == sorted(t)

    方法二:使用collections模块中的Counter方法。

    class Solution:
        def isAnagram(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: bool
            """
            from collections import Counter
            return Counter(s) == Counter(t)

    方法三:

    class Solution:
        def isAnagram(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: bool
            """
            if len(s) != len(t):
                return False
            a = set(s)
            b = set(t)
            if a != b:
                return False
            for i in a:
                if s.count(i) != t.count(i):
                    return False
            return True 

    方法四:

    class Solution:
        def isAnagram(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: bool
            """
            return len(s) == len(t) and set(s) == set(t) and all(s.count(i) == t.count(i) for i in set(s))
    

      

  • 相关阅读:
    Microsoft.Office.Inter.Excel.dll在調用時可能會出現如下錯誤
    Proe 导出PDF Vb.net
    给Eclipse安装Google app engine插件
    VC++ 2013 开发windows窗体程序
    GitHub使用说明
    c# 发送邮件
    c# aes 加密解密
    sourceforge软件下载方式
    keyCode转换成值
    前端写代码自动刷新神器Browsersync
  • 原文地址:https://www.cnblogs.com/tianrunzhi/p/10373304.html
Copyright © 2011-2022 走看看