lintcode-136-分割回文串
生活随笔
收集整理的這篇文章主要介紹了
lintcode-136-分割回文串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
136-分割回文串
給定一個字符串s,將s分割成一些子串,使每個子串都是回文串。
返回s所有可能的回文串分割方案。樣例
給出 s = "aab",返回
[
["aa", "b"],
["a", "a", "b"]
]標簽
回溯法 深度優(yōu)先搜索
思路
使用回溯和遞歸
code
class Solution {
public:/*** @param s: A string* @return: A list of lists of string*/vector<vector<string>> partition(string s) {// write your code hereint size = s.size();if(size <= 0) {return vector<vector<string> >();}vector<vector<string> > result;vector<string> temp;partition(s, 0, temp, result);return result;}void partition(string s, int current, vector<string> &temp, vector<vector<string> > &result) {if(current == s.size()){result.push_back(temp);return;}for(int i=current; i<s.size(); i++) {if(isPalindrome(s, current, i)) {temp.push_back(s.substr(current,i-current+1));partition(s, i+1, temp, result);temp.pop_back();}}}bool isPalindrome(string s, int begin, int end) {for(int i=begin, j=end; i<j; i++, j--) {if(s[i] != s[j]) {return false;}}return true;}
};
轉(zhuǎn)載于:https://www.cnblogs.com/libaoquan/p/7222096.html
總結(jié)
以上是生活随笔為你收集整理的lintcode-136-分割回文串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个朋友之间的个性签名!
- 下一篇: 元气骑士怎么刷新任务?