131. 分割回文串

cpp 复制代码
class Solution {
public:
    vector<string>path;
    vector<vector<string> >ans;
    void backtracking(string s,int star){
        if(star>=s.size()){
            ans.push_back(path);
            return;
        }
        for(int i=star;i<s.size();i++){
            if(isp(s,star,i)){
                string cnt=s.substr(star,i-star+1);
                path.push_back(cnt);
            }else continue;
            backtracking(s,i+1);
            path.pop_back();
        }
    }
    bool isp(string s,int f,int e){
        for(int i=f, j=e;i<j;i++,j--){
            if(s[i]!=s[j])return false;
        }
        return true;
    }
    vector<vector<string>> partition(string s) {
        backtracking(s,0);
        return ans;
    }
};
相关推荐
xu_yule36 分钟前
算法基础(数论)—算法基本定理
c++·算法·算数基本定理
CoderCodingNo1 小时前
【GESP】C++五级真题(结构体排序考点) luogu-B3968 [GESP202403 五级] 成绩排序
开发语言·c++·算法
浅川.252 小时前
STL专项:stack 栈
数据结构·stl·stack
YGGP2 小时前
【Golang】LeetCode 32. 最长有效括号
算法·leetcode
自然常数e3 小时前
字符函数和字符串函数
c语言·算法·visual studio
youngee113 小时前
hot100-56最小栈
数据结构
leaves falling3 小时前
c语言分数求和
算法
Das13 小时前
【机器学习】01_模型选择与评估
人工智能·算法·机器学习
星轨初途3 小时前
郑州轻工业大学2025天梯赛解题
c++·经验分享·笔记·算法·链表·剪枝