給定乙個字串 s,將s 分割成一些子串,使每個子串都是回文串。
返回 s 所有可能的分割方案。
示例:
輸入:"aab"輸出:[["aa","b"],
["a","a","b"]
]
class solution(object):
def partition(self, s):
""":type s: str
:rtype: list[list[str]]
"""self.res =
self.temp =
def sub_partition(string):
if string == string[::-1]: #到了盡頭,加入到結果
self.temp.pop()
for i in range(1,len(string)):
a = string[:i]
if a == a[::-1]:
sub_partition(string[i:])
self.temp.pop()
sub_partition(s)
return self.res
執行用時: 112 ms, 在palindrome partitioning的python提交中擊敗了91.78% 的使用者 131分割回文串
回溯 res tmp def ispalindrome self,s str 判斷是否是回文串 return s s 1 def dfs self,s str param s param index 初始為0 return if 0 len s 遞迴終止條件,在res中儲存tmp的複製值 tmp.c...
131 分割回文串
題目鏈結 與93題 恢復ip位址思路一致 給定乙個字串 s,將 s 分割成一些子串,使每個子串都是回文串。返回 s 所有可能的分割方案。示例 輸入 aab 輸出 aa b a a b class solution object def partition self,s type s str rtyp...
131 分割回文串 M
給定乙個字串 s,將 s 分割成一些子串,使每個子串都是回文串。返回 s 所有可能的分割方案。示例 輸入 aab 輸出 aa b a a b 分析 一種基礎方案是單個字元作為乙個子串 剩下的構造,只需進行合併操作即可。但這種自底向上的方案,並不好確定組合。那直接進行劃分怎麼樣?以aab為例,aab ...