# 791. Custom Sort String ###### tags: `leetcode` `791` `medium` ## :memo: Question  ## :memo: 題意 * 兩個 string,一個是 order,一個是 str,然後你的 str 要跟著 order 的順序排,如果沒有出現在 order 裡的字可以再任意位置。 ## :memo: leetcode solution * :medal: **思考一**: 先用 str 找出要排序的字母有多少個,放在 hash table 裡。 * :medal: **思考二**: 然後再將 order str for loop 一遍,然後去 hash table 找要多少個這個字,然後相乘加到要回傳的字串裡,然後將此字重 hash table 裡刪掉。 * :medal: **思考二**: 最後在 for loop hash table 裡剩下的字,加到要回傳的的答案裡。 ## :memo: my solution code ```python= class Solution: def customSortString(self, order: str, str: str) -> str: dic = collections.Counter(str) ans = "" for char in order: ans += dic[char] * char del dic[char] for k, v in dic.items(): ans += k*v return ans ``` ## :memo: BigO * 時間複雜度: O(n)。 * 空間複雜度: O(n)。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up