Palindrome Partitioning
来源:互联网 发布:数据泄露dlp效果 编辑:程序博客网 时间:2024/05/22 06:44
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
For example, given s = "aab"
,
Return
[ ["aa","b"], ["a","a","b"] ]
class Solution {public:vector< vector<string> > res;void DFS(string& s, int start, vector< vector<bool> > & dp, vector<string>& vec){if (start == s.length()){res.push_back(vec);return;}for (int len = 1; len <= s.length() - start; len++){if (dp[start][len]){vec.push_back(s.substr(start, len));DFS(s, start + len, dp, vec);vec.pop_back();}}}vector<vector<string>> partition(string s){res.clear();vector<vector<bool> > dp(s.length(), vector<bool>(s.length() + 1, false));dp[0][0] = true;for (int i = 0; i < s.length(); i++)dp[i][1] = true;for (int len = 2; len <= s.length(); len++){for (int i = 0; i <= s.length() - len; i++){if (len == 2 && s[i] == s[i+1]) dp[i][2] = true;else if (dp[i+1][len-2] && s[i] == s[i+len-1]) dp[i][len] = true;}}vector<string> vec;DFS(s, 0, dp , vec);return res;}};
0 0
- Palindrome partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- Palindrome Partitioning
- 黑马程序员 java银行业务调度系统 随笔
- sencha touch笔记(11)——localstorage实现本地收藏功能以及图标的变换
- 黑马程序员 java交通灯随笔
- QEMU 的 CPU 配置
- Bloomberg面经
- Palindrome Partitioning
- Leetcode: reverse words in a string
- 如何计算时间复杂度
- Auto Rebuild Indexes
- Copy List with Random Pointer -- LeetCode
- Leetcode: Evaluate Reverse Polish Notation
- Binary Tree Inorder Traversal
- Linux下Vnc远程桌面Server配置教程
- android,中心旋转