Leetcode164: Palindrome Partitioning

来源:互联网 发布:java double e 表示 编辑:程序博客网 时间:2024/04/29 03:34

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<string> &path, vector<vector<string>> &res)      {          if(s.size() < 1)          {              res.push_back(path);              return;          }          for(int i = 0; i < s.size(); i++)          {              int begin = 0;              int end = i;              while(begin < end)              {                  if(s[begin] == s[end])                  {                      begin++;                      end--;                  }                  else                      break;              }              if(begin >= end)//bool isPalindrome = true;              {                  path.push_back(s.substr(0,i+1));                  dfs(s.substr(i+1),path,res);                  path.pop_back();              }          }      }      vector<vector<string>> partition(string s) {          // IMPORTANT: Please reset any member data you declared, as          // the same Solution instance will be reused for each test case.          vector<vector<string>> res;          vector<string> path;          dfs(s,path,res);          return res;      }  };



0 0