[LeetCode] Palindrome Partitioning
来源:互联网 发布:淘宝账户怎么注销 编辑:程序博客网 时间:2024/05/16 14:13
Palindrome Partitioning
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"] ]
解题思路:
题意为找出对字符串的所有划分,使得每个划分都是回文。用递归的方法做。
注意s.substr(i);方法,如果i等于s的长度,返回一个空字符串。若i大于s的长度,报错。
class Solution {public: vector<vector<string>> partition(string s) { vector<vector<string>> result; vector<string> item; helper(item, s, result); return result; } void helper(vector<string>& item, string s, vector<vector<string>>& result){ int len = s.length(); if(len == 0 && item.size()>0){ result.push_back(item); return; } for(int i=0; i<len; i++){ string s1 = s.substr(0, i + 1); if(isPalindrome(s1)){ item.push_back(s1); helper(item, s.substr(i + 1), result); item.pop_back(); } } } bool isPalindrome(string& s){ int len = s.length(); int i=0, j=len-1; while(i<j){ if(s[i]!=s[j]){ return false; } i++; j--; } return true; }};
0 0
- 【leetcode】Palindrome Partitioning && Palindrome Partitioning II
- [LeetCode] Palindrome Partitioning && Palindrome Partitioning II
- LeetCode Palindrome Partitioning I&&Palindrome Partitioning II
- LeetCode Palindrome Partitioning, Palindrome Partitioning II
- [Leetcode][python]Palindrome Partitioning/Palindrome Partitioning II
- Leetcode:Palindrome Partitioning & Palindrome Partitioning II
- LeetCode: Palindrome Partitioning
- LeetCode : Palindrome Partitioning II
- [leetcode] Palindrome Partitioning II
- leetcode 122: Palindrome Partitioning
- leetcode:Palindrome Partitioning II
- leetcode:Palindrome Partitioning
- 【leetcode】Palindrome Partitioning
- 【leetcode】Palindrome Partitioning II
- leetcode - Palindrome Partitioning II
- Leetcode - Palindrome Partitioning
- LeetCode之Palindrome Partitioning
- [LeetCode]Palindrome Partitioning
- 3、观察者模式
- 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
- 大整数的加法运算
- 数据结构:大堆
- nginx手记-命令
- [LeetCode] Palindrome Partitioning
- 多线程与并发 概论
- linux下I/O缓冲
- 【C语言经典实例】-指向结构体的指针变量
- 如何增加你的气场
- mysql锁研究系列二(MySQL表级锁的锁模式)
- 音乐播放器
- [J2EE基础]初识JSP和Servlet
- opentaps初学习之安装(mysql)