LeetCode--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"]
  ]

分析:这种求子序列的分割问题,可以想到用深度优先搜索方法

class Solution {
public:   
    void dfs(string s,vector&path,vector>&res){
         
        if(s.size() < 1){
            res.push_back(path);
            return;
        }
        for(int i = 0;i= end){
                path.push_back(s.substr(0,i+1));
                dfs(s.substr(i+1), path,res);
                path.pop_back();
            }
        }          
    }
    vector> partition(string s) {
        vector>res;
        vectorpath;
        dfs(s,path,res);
        return res;
    }
};





你可能感兴趣的:(LeetCode)