每日一题——131.分割回文串
题目链接:131. 分割回文串 - 力扣(LeetCode)
代码:
class Solution {
private:vector<vector<string>> result;vector<string> path;void backtracking (const string& s,int startindex){if(startindex >= s.size()){result.push_back(path);return ;}for(int i = startindex; i < s.size();i++){if(isPalindrome(s,startindex,i)){string str = s.substr(startindex,i-startindex+1);path.push_back(str);}else{continue;}backtracking(s,i+1);path.pop_back();}}bool isPalindrome(const string& s,int start,int end){for(int i = start,j = end; i< j;i++,j--){if(s[i] != s[j]){return false;}}return true;}
public:vector<vector<string>> partition(string s) {result.clear();path.clear();backtracking(s,0);return result;}
};
思路:
依然回溯,和前面数字组合的区别在
之前是回溯选择哪几个数字
这个是回溯从哪截取选择