zoukankan      html  css  js  c++  java
  • LeetCode--242--有效的字母异位词

    问题描述:

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

    示例 1:

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

    示例 2:

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

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

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

    方法1:每次从s中查找t首部的一个字母,更新s和t。(时间复杂度太大)

     1 class Solution(object):
     2     def isAnagram(self, s, t):
     3         """
     4         :type s: str
     5         :type t: str
     6         :rtype: bool
     7         """
     8         if len(s) != len(t):
     9             return False
    10         while s:
    11             index = s.find(t[0])
    12             if index >= 0:
    13                 s = s[:index] + s[index+1:]
    14                 t = t[1:]
    15             else:
    16                 return False
    17         if t == s:
    18             return True
    19         return False

    方法2:官方

     1 class Solution(object):
     2     def isAnagram(self, s, t):
     3         """
     4         :type s: str
     5         :type t: str
     6         :rtype: bool
     7         """
     8         S=list(set(s))
     9         T=list(set(t))
    10         if len(S)!=len(T):
    11             return False
    12         for i in S:
    13             if i in T and s.count(i)==t.count(i):
    14                 pass
    15             else:
    16                 return False
    17         return True

    简洁一点:

    1 class Solution:
    2     def isAnagram(self, s, t):
    3         """
    4         :type s: str
    5         :type t: str
    6         :rtype: bool
    7         """ 
    8         return set(s) == set(t) and all(s.count(i) == t.count(i) for i in set(s))

    2018-09-21 15:41:43

  • 相关阅读:
    SpringBoot打jar包以及打成war包 (springboot2.0)
    学习软件开发的心得
    SQA计划
    继续冲吧
    别跑了,看看脚下有木有money
    springIOC的那些事
    ssm
    scrum 第二次冲刺
    云医院
    团队项目开发总结
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/9686882.html
Copyright © 2011-2022 走看看