難度中等370
給定乙個字串 s,將s 分割成一些子串,使每個子串都是回文串。
返回 s 所有可能的分割方案。
示例:
輸入:"aab"輸出:[["aa","b"],
["a","a","b"]
]
(參考lliweiwei題解)遍歷字串,看它是不是回文,如果是,則樹繼續長分支,否則剪枝。回溯
class solution
return true;
}void backtracking(string s, int start, int len, vector&path, vector> &res)
for (int i = start; i < len; ++i)
return;
}vector> partition(string s)
};
Leetcode131 分割回文串
給定乙個字串 s,將 s 分割成一些子串,使每個子串都是回文串。返回 s 所有可能的分割方案。示例 輸入 aab 輸出 aa b a a b public list partition string s partition s,0 new arraylist res return res index...
LeetCode 131 分割回文串
給定乙個字串 s,將 s 分割成一些子串,使每個子串都是回文串。返回 s 所有可能的分割方案。示例 輸入 aab 輸出 aa b a a b 思路 回溯法 注意回溯的位置 class solution object def partition self,s type s str rtype list...
LeetCode 131 分割回文串
返回 s 所有可能的分割方案。分析 首先要用動態規劃來標記出回文子串的位置,dp i j true表示字串i到j是回文。因此動態規劃判斷時候是用的 dp i j s i s j len 3 dp i 1 j 1 表示當len 3時候只需要判斷兩個端點,其他時候還要判斷中間是否是回文子串。然後使用回溯...