131. Palindrome Partitioning
題目網址:https://leetcode.cn/problems/palindrome-partitioning/
題意:給一 string
s
, 將s
切割成一些 substring, 使每個 substring 皆回文, 返回s
所有可能的切割方法。其中,
s
僅由小寫英文字母所組成。
Solution:
想法:利用 DFS, 如果切下去是回文, 則遞迴剩下的 substring
class Solution { |
- time:$O(n \cdot 2^n)$ ➔ 最壞情況下,
s
為n
個相同的 char- 總共 $2^{n-1}$ 種切法(每個 char 之間的間隙都有切 or 不切兩種選擇)
- 每種耗時 $O(n)$, 判斷每個 substring 是否為回文
- space:$O(n)$ ➔ 取決於遞迴深度, 最大遞迴深度為
n
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論