Palindrome Partitioning
来源:互联网 发布:网络信息安全检查表 编辑:程序博客网 时间:2024/05/29 16:15
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"] ]
思路:用DFS来做,加上判断是否是palindrome。
class Solution {public: vector<vector<string>> partition(string s) { vector<vector<string>> result; if (s.empty()) return result; vector<string> partition; partitionUtil(result, partition, s, 0, s.size() - 1); } void partitionUtil(vector<vector<string>> &result, vector<string> &partition, string &s, int start, int end) { if (start > end) { result.push_back(partition); } else { for (int i = start; i <= end; ++i) { string str1 = s.substr(start, i - start + 1); if (isPalindrome(str1)) { partition.push_back(str1); partitionUtil(result, partition, s, i+1, end); partition.pop_back(); } } } } bool isPalindrome(const string &str) { int low = 0; int high = str.length() -1; while(low < high){ if (str[low] != str[high]) { return false; } low++; high--; } return true; }};
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
- 8jMK axCPgnike XyaV uu4
- IrBt V09aAray ban australia APrL Mth
- 23种常用设计模式(C++)
- Minimum Window Substring
- Valid Palindrome
- Palindrome Partitioning
- 完善Cygwin git使用
- 安装ubuntu笔记本博通无线网卡不可用
- 正则表达式与通配符基础
- Struts环境搭建
- 关于网络中tcp/ip的一些疑问
- Populating Next Right Pointers in Each Node
- 数据结构之单链表实现(C++)
- NetBeans乱码