# leetcode131 # 给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串 。返回s所有可能的分割方案。 # # 回文串是正着读和反着读都一样的字符串。 # # # 示例 # 1:输入:s = "aab" # 输出:[["a", "a", "b"], ["aa", "b"]] # 示例2: # 输入:s = "a" # 输出:[["a"]] res = [] path = [] def is_huiwen(sub_s): # print("sub_s=",sub_s) # print(list(reversed(sub_s))) return sub_s == ''.join(list(reversed(sub_s))) def call_back(s, start_index,path,res): if start_index == len(s): res.append(path[:]) return for i in range(start_index, len(s)): sub_s = s[start_index:i+1] if is_huiwen(sub_s): path.append(sub_s) else: continue # print(path) call_back(s, i+1, path, res) path.pop() return res s = "a" result = call_back(s, 0, path, res) print(result)
8.回溯算法-分割回文串.py
于 2023-12-06 21:25:18 首次发布