当前位置: 首页 > article >正文

leetcode 131 分割回文串

1.题目要求:

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 
回文串
 。返回 s 所有可能的分割方案。

 

示例 1:

输入:s = "aab"
输出:[["a","a","b"],["aa","b"]]
示例 2:

输入:s = "a"
输出:[["a"]]
 

提示:

1 <= s.length <= 16
s 仅由小写英文字母组成

2.题目代码:

class Solution {
public:
    //判断是否是回文串
    bool judge_palindromes(string s,int startindex,int i){
        while(startindex <= i){
            if(s.at(startindex) != s.at(i)){
                return false;
            }
            startindex++;
            i--;
        }
        return true;
    }
    vector<vector<string>> result;
    vector<string> array;
    void backtricking(string s,int startindex){
        //回溯三件套
        //终止条件
        if(startindex >= s.size()){
            result.push_back(array);
            return;
        }
        for(int i = startindex;i < s.size();i++){
            if(judge_palindromes(s,startindex,i) == true){
                string temp(s.begin() + startindex,s.begin() + i + 1);
                array.push_back(temp);       
            }else{
                continue;
            }
            backtricking(s,i + 1);
            //回溯
            array.pop_back();
        }
    }
    vector<vector<string>> partition(string s) {
        int startindex = 0;
        backtricking(s,startindex);
        return result;
    }
};

http://www.kler.cn/news/343330.html

相关文章:

  • SQL调优指南与高级技巧:打造高效数据库查询
  • Leetcode 删除链表倒数第 N 个节点
  • 【Golang】Go语言Seeker接口与文件断点续传实战
  • 【Linux实践】实验七:vi编辑器的使用
  • 在 TypeScript 中判断两个类型相等的挑战
  • 从分布 P 中抽取随机变量 X的期望值
  • 七、Python基础语法(判断语句 上)
  • Java Stream流操作的不同分类
  • 【系统架构设计师】案例专题六(8大系统架构设计之1): 信息系统架构设计考点梳理
  • SSD1306驱动芯片学习
  • 自动驾驶高频面试题及答案
  • CSP-J/S 复赛算法 并查集-Hash表
  • 【PostgreSQL】实战篇——监控 PostgreSQL 性能及调优方法
  • CoppeliaSim和Matlab建立远程连接教程
  • 数据结构:快排
  • C++实现Json-Rpc框架
  • 【数据结构】【顺序表算法】 删除特定范围内的元素
  • 前端的全栈混合之路Meteor篇:分布式数据协议DDP深度剖析
  • 信息安全工程师(38)防火墙类型与实现技术
  • 代码随想录算法训练营第二十七天 | Java |93.复原IP地址、78.子集、90.子集II【只有思路,还没吃透代码】