AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

LeetCode 131. 分割回文串    原题链接    中等

作者: 作者的头像   toFuture ,  2025-03-16 18:16:43 · 江苏 ,  所有人可见 ,  阅读 1


0


class Solution {
public:
    vector<vector<bool>> f;
    vector<vector<string>> ans;
    vector<string> path;

    vector<vector<string>> partition(string s) {
        int n=s.size();
        f = vector<vector<bool>>(n, vector<bool>(n));
        for(int j=0;j<n;j++)
        {
            for(int i=0;i<=j;i++)
            {
                if(i==j)f[i][j]=true;
                else if(s[i]==s[j])
                {
                    if(i+1>j-1||f[i+1][j-1])f[i][j]=true;
                }
            }
        }
        dfs(s, 0);
        return ans;
    }

    void dfs(string& s, int u)
    {
        if(u==s.size())ans.push_back(path);
        else{
            for(int i=u;i<s.size();i++)
            {
                if(f[u][i])
                {
                    path.push_back(s.substr(u, i-u+1));
                    dfs(s, i+1);
                    path.pop_back();
                }
            }
        }
    }
};

0 评论

App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息