博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Lintcode】136.Palindrome Partitioning
阅读量:5167 次
发布时间:2019-06-13

本文共 1936 字,大约阅读时间需要 6 分钟。

题目:

Given a string s, partition s such that every substring of the partition is a palindrome.

Return all possible palindrome partitioning of s.

Example

Given s = "aab", return:

[  ["aa","b"],  ["a","a","b"]]

题解:

Solution 1 ()

class Solution {public:    vector
> partition(string s) { if (s.empty()) { return {
{}}; } vector
> res; vector
v; dfs(res, v, s, 0); return res; } void dfs(vector
> &res, vector
&v, string s, int pos) { if (pos >= s.size()) { res.push_back(v); return; } string str; for (int i = pos; i < s.size(); ++i) { str += s[i]; if (isValid(str)) { v.push_back(str); dfs(res, v, s, i + 1); v.pop_back(); } } } bool isValid(string str) { if (str.empty()) { return true; } int begin = 0; int end = str.size() - 1; for (; begin <= end; ++begin, --end) { if (str[begin] != str[end]) { return false; } } return true; }};

Solution 1.2 ()

class Solution {public:    bool isPalindrome(string &s, int i, int j){        while(i < j && s[i] == s[j]){            i++;            j--;        }        if(i >= j) {            return true;        } else {            return false;        }    }    void helper(vector
> & res, vector
&cur, string &s, int pos){ if(pos == s.size()){ res.push_back(cur); return; } for(int i = pos; i <= s.size() - 1; i++){ if(isPalindrome(s, pos, i)){ cur.push_back(s.substr(pos, i - pos + 1)); helper(res, cur, s, i+1); cur.pop_back(); } } } vector
> partition(string s) { vector
> res; vector
cur; helper(res, cur, s, 0); return res; }};

 

转载于:https://www.cnblogs.com/Atanisi/p/6869609.html

你可能感兴趣的文章
有关快速幂取模
查看>>
NOI2018垫底记
查看>>
注意java的对象引用
查看>>
C++ 面向对象 类成员函数this指针
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>
判断字符串是否为空的注意事项
查看>>
布兰诗歌
查看>>
js编码
查看>>
Pycharm Error loading package list:Status: 403错误解决方法
查看>>
steps/train_sat.sh
查看>>
转:Linux设备树(Device Tree)机制
查看>>
iOS 组件化
查看>>
(转)Tomcat 8 安装和配置、优化
查看>>
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>