LeetCode 242. Valid Anagram

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

v2-5e4b81cf78c5dbc789427fe89d9e0b52_1440w.jpg

Description



Given two strings s and t , write a function to determine if t is an anagram of s.


Example 1:


Input: s = "anagram", t = "nagaram"

Output: true


Example 2:


Input: s = "rat", t = "car"

Output: false

Note:

You may assume the string contains only lowercase alphabets.


描述



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


示例 1:

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

输出: true


示例 2:

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

输出: false

说明:

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


思路



  • 字母异位词是指使用了相同的字母(种类相同,且每个种类使用的次数相等)的单词.
  • 题目给定了只会使用小写字母,我们生命两个长度为26的数组,统计s和t中字母出现的次数,然后判断所有的字母是不是一一对应相等即可.


# -*- coding: utf-8 -*-
# @Author:             何睿
# @Create Date:        2019-02-02 16:55:46
# @Last Modified by:   何睿
# @Last Modified time: 2019-02-02 18:05:09
class Solution:
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        if len(s) != len(t): return False
        # 题目明确只会给定26个小写字母
        scount, tcount = [0 for _ in range(26)], [0 for _ in range(26)]
        for x, y in zip(s, t):
            # 统计s中字母出现的次数
            scount[ord(x) - ord('a')] += 1
            # 统计t中字母出现的次数
            tcount[ord(y) - ord('a')] += 1
        # 返回s和t中字母出现的次数是否一一对应相等
        return scount == tcount


源代码文件在这里.


目录
相关文章
|
5月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
LeetCode 367. Valid Perfect Square
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。
95 0
LeetCode 367. Valid Perfect Square
|
canal
LeetCode 125. Valid Palindrome
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
92 0
LeetCode 125. Valid Palindrome
|
算法
LeetCode 65. Valid Number
验证给定字符串是否可以解释为十进制数。
94 0
LeetCode 65. Valid Number
|
人工智能 算法
LeetCode 1347. 制造字母异位词的最小步骤数 Minimum Number of Steps to Make Two Strings Anagram
LeetCode 1347. 制造字母异位词的最小步骤数 Minimum Number of Steps to Make Two Strings Anagram
Leetcode-Easy 20. Valid Parentheses
Leetcode-Easy 20. Valid Parentheses
107 0
Leetcode-Easy 20. Valid Parentheses
LeetCode 20:有效的括号 Valid Parentheses
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. 有效字符串需满足: 左括号必须用相同类型的右括号闭合。
762 0
|
Java
[LeetCode] Valid Parentheses 验证括号是否有效闭合
链接:https://leetcode.com/problems/valid-parentheses/#/description难度:Easy题目:20.
1009 0
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行