原题如下:
1481. Unique Substring
Given a string s, find all the unique substring with the length of k and sort the results in lexicographic order.
Example
Input: s = “caaab”
k = 2
Output:[“aa”,“ab”,“ca”]
代码如下:利用set的已经排好序的特点。
注意:
1) vector result(ss.begin(), ss.end());
可将一个vector直接用一个set初始化。
2) 如果vector已经定义过,则用.assign()。
set s(a.begin(), a.end());
a.assign(s.begin(), s.end());
class Solution {
public:
/**
* @param s: a string
* @param k: an integer
* @return: all unique substring
*/
vector<string> uniqueSubstring(string &s, int k) {
int len = s.size();
set<string> ss;
int upperBound = len - k;
for(int i = 0; i <= upperBound; ++i) {
string substr = s.substr(i, k);
ss.insert(substr);
}
vector<string> result(ss.begin(), ss.end());
return result;
}
};