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

  • 相关阅读:
    数据透视表快速按年月分组
    会计-汇兑损益账务处理
    vs Mvc晋级
    sql语句建立新表SMFIELD
    access左侧导航栏拉窄后,鼠标悬停时无法拉宽。
    SQL函数min和max用法
    转发一个很齐全的gridview应用帖子
    循环
    JavaScript的进阶学习
    JavaScript的学习
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/9686882.html
Copyright © 2011-2022 走看看