[Leetcode刷题心得][数组、字符串]242. 有效的字⺟母异位词
生活随笔
收集整理的這篇文章主要介紹了
[Leetcode刷题心得][数组、字符串]242. 有效的字⺟母异位词
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
給定兩個字符串串 s 和 t,編寫?一個函數來判斷 t 是否是 s 的字?母 異位詞。
說明:
你可以假設字符串串只包含?小寫字?母。
示例:
示例 1
輸入: s = "anagram", t = "nagaram" 輸出: true示例 2
輸入: s = "rat", t = "car" 輸出: false解題思路:
可以將26個英文字母都看成數組,如下表
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
s = anagram
t= nagaram
首先計算s中每個字母的個數得到下表
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
然后將t中的字母每遍歷一個做減一操作,看最后結果是否為0
代碼
用set()方法,過濾s字符串中重復的字母,生成彼此不重復的集合L。訪問L集合,判斷每個字母在s和t字符串中的數量是否相等,進行對應的操作
def heterosyllabicWords(string1,string2):if len(string1) != len(string2):return Falsefor i in set(string1):if string1.count(i) != string2.count(i):return Falsereturn True def heterosyllabicWords2(string1,string2):return len(string1) == len(string2) and all([string1.count(i) == string2.count(i) for i in set(string1)])if __name__ == '__main__':heterosyllabicWords("anagram","nagaram")heterosyllabicWords2("anagram","nagaram")總結
以上是生活随笔為你收集整理的[Leetcode刷题心得][数组、字符串]242. 有效的字⺟母异位词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云ERP有什么优势?功能有哪些?
- 下一篇: 我博士科研经历中的经验和教训——朱亮