LeetCode題解(1417):重新格式化字符串(Python)

題目:原題鏈接(簡單)

解法 時間複雜度 空間複雜度 執行用時
Ans 1 (Python) O(N)O(N) O(N)O(N) 48ms(93.57%)
Ans 2 (Python)
Ans 3 (Python)

LeetCode的Python執行用時隨緣,只要時間複雜度沒有明顯差異,執行用時一般都在同一個量級,僅作參考意義。

解法一:

def reformat(self, s: str) -> str:
    alphas = []
    nums = []
    for c in s:
        if c.isalpha():
            alphas.append(c)
        else:
            nums.append(c)

    if abs(len(alphas) - len(nums)) > 1:
        return ""

    ans = ""
    if len(alphas) < len(nums):
        for i in range(len(alphas)):
            ans += nums[i] + alphas[i]
        else:
            ans += nums[-1]
        return ans
    elif len(alphas) > len(nums):
        for i in range(len(nums)):
            ans += alphas[i] + nums[i]
        else:
            ans += alphas[-1]
    else:
        for i in range(len(nums)):
            ans += alphas[i] + nums[i]

    return ans
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章