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

      

  • 相关阅读:
    如何限制ip访问Oracle数据库
    11G oracle RAC集群启动和关闭
    查看Oracle某时刻的客户端IP连接情况
    ASM--文件系统之间归档日志的拷贝
    Oracle AWR内容详解
    Oracle RMAN操作详解
    静默升级oracle 11g (从11.2.0.1升级到11.2.0.4)
    XStream使用详解
    Go 测试单个方法
    Golang 单元测试和性能测试
  • 原文地址:https://www.cnblogs.com/tianrunzhi/p/10373304.html
Copyright © 2011-2022 走看看