iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0

https://ithelp.ithome.com.tw/upload/images/20200927/20111516uiyjepfLd5.png

今天選題的方式 不是按序 也不是偷懶拿之前寫的(會標記Review) 是 Pick One (應該是隨機選題吧) <- 如上圖


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.

Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?

思路

英文必須好
https://ithelp.ithome.com.tw/upload/images/20200926/20111516zaq3f7QXB9.png
anagram == 重組

整句翻下來是 字串t 是否為 字串s的重組

而 解法是 長度一樣 , 把字串放進list後,進行sort,再繼續判斷是否兩個list slisttlist 是否一模模沒兩樣,是則 回傳 True
不一樣 直接 回傳 False

正解

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        slist = []
        tlist = []
        if len(s)!=len(t):
            return False
        for i in range(len(s)):
            slist.append(s[i])
            tlist.append(t[i])
        
        slist.sort()    
        tlist.sort()
        
        for j in range(len(s)):
            if slist[j]!=tlist[j]:
                return False
        
        return True

Result
https://ithelp.ithome.com.tw/upload/images/20200926/20111516Ug6z8g2TSL.png


上一篇
(Hard?) 10. Regular Expression Matching
下一篇
(Medium) 11. Container With Most Water
系列文
刷刷題 or Alan Becker's game 製作 is a question 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言