• 有效的字母异位词


    链接:https://leetcode-cn.com/problems/valid-anagram

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

    示例 1:

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

    思路1:排序

    时间复杂度:O(nlogn)

    python代码:

      

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

    思路2:用map计数,比较两个map是否相同

    时间复杂度:O(n)

    class Solution(object):
        def isAnagram(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: bool
            """
      dic1 ,dic2 = {},{}
      for item in s:
        dic1[item] = dic1.get(item,0) +1
      for item in t:
        dic2[item] = dic2.get(item,0) +1
     
      return dic1==dic2
     
     
    思考一种特殊的情况:字符串中只包含26个小写字母, 那么还可以这样写
     
      
    class Solution(object):
        def isAnagram(self, s, t):
            """
            :type s: str
            :type t: str
            :rtype: bool
            """
      dic1 , dic2 = [0]*26 ,[0]*26
      for c in s:
        dic1[ord(c) - ord('a')] += 1
      for c in t:
        dic2[ord(c) - ord('a') += 1
      return dic1 == dic2
  • 相关阅读:
    【刷题】洛谷 P4319 变化的道路
    【刷题】BZOJ 4573 [Zjoi2016]大森林
    CSS3_天猫商品墙
    CSS3_3D 变换
    CSS3_扇形导航_transitionend 事件
    CSS3_过渡_2D 变换_瓶体旋转_动态时钟
    CSS3_多列布局
    CSS3_线性渐变_径向渐变----背景
    CSS3_盒子背景
    CSS3_盒阴影_倒影_盒子大小可调
  • 原文地址:https://www.cnblogs.com/wl413911/p/12931495.html
Copyright © 2020-2023  润新知