給你兩個字串 s
和 t
(它們互為字母異位詞),以及一個整數 k
。
你的任務是判斷是否可以將字串 s
分割成 k
個等長的子字串,然後重新排列這些子字串,並以任意順序連線它們,使得最終得到的新字串與給定的字串 t
相匹配。
如果可以做到,返回 true
;否則,返回 false
。
字母異位詞 是指由另一個單詞或短語的所有字母重新排列形成的單詞或短語,使用所有原始字母恰好一次。
子字串 是字串中的一個連續 非空 字元序列。
class Solution: def isPossibleToRearrange(self, s: str, t: str, k: int) -> bool: n = len(s) length = n // k # 長度 cnt_s = Counter(s[i: i + length] for i in range(0, n, length)) cnt_t = Counter(t[i: i + length] for i in range(0, n, length)) return cnt_s == cnt_t