【LeetCode热题100】【回溯】分割回文串

题目链接:131. 分割回文串 - 力扣(LeetCode)

要找出所有分割这个字符串的方案使得每个子串都是回文串,写一个判断回文串的函数,深度遍历回溯去找出所有分割方案,判断分割的子串是否是回文串

复制代码
class Solution {
public:
    vector<vector<string> > ans;
    vector<string> an;
    string s;

    bool isPalindromes(int left, int right) {
        while (left < right) {
            if (s[left++] != s[right--])
                return false;
        }
        return true;
    }

    void dfs(int i) {
        if (i == s.size()) {
            ans.push_back(an);
            return;
        }
        for (int j = i; j < s.size(); ++j) {
            if (isPalindromes(i, j)) {
                an.push_back(s.substr(i, j - i + 1));
                dfs(j + 1);
                an.pop_back();
            }
        }
    }

    vector<vector<string> > partition(string s) {
        this->s = move(s);
        dfs(0);
        return ans;
    }
};
相关推荐
biubiuibiu7 分钟前
选择适合的硬盘:固态与机械硬盘的对比与推荐
c++·算法
big_rabbit050211 分钟前
[算法][力扣226]翻转一颗二叉树
数据结构·算法·leetcode
TracyCoder12315 分钟前
LeetCode Hot100(65/100)——64. 最小路径和
算法·leetcode·职场和发展
z2014z16 分钟前
Deflate 算法详解
网络·算法
条tiao条16 分钟前
从 “Top-K 问题” 入门二叉堆:C 语言从零实现与经典应用
c语言·算法·深度优先
uesowys18 分钟前
华为OD算法开发指导-数据结构-图
数据结构·算法·华为od
实心儿儿22 分钟前
算法3:链表分割
数据结构·算法·链表
Tisfy38 分钟前
LeetCode 1415.长度为 n 的开心字符串中字典序第 k 小的字符串:DFS构造 / 数学O(n)
数学·算法·leetcode·深度优先·字符串·dfs·模拟
FriendshipT1 小时前
算法部署知识点:TensorRT、Tensorflow、Flask、Docker、TFLite
算法·docker·flask·tensorflow
进击的小头1 小时前
第7篇:基于传递函数的PI控制器设计
python·算法