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))
    

      

  • 相关阅读:
    给脚本绑定LUA解释器
    Flash Socket连接受限解决方法
    使用CMake构建编译环境
    如何使用OpenCL编写程序
    使用zzip和minizip解压缩文件
    使用CURL库下载文件
    使用GDI+保存位图文件为PNG文件
    linux学习
    Tomcat6连接池配置
    ArrayList与LinkedList性能差别
  • 原文地址:https://www.cnblogs.com/tianrunzhi/p/10373304.html
Copyright © 2011-2022 走看看