Iterator for Combination LeetCode solution in C++
1class CombinationIterator {2public:3vector<string> ans;4int j = 0;5void comb(int i, string &s, int k, string &t) {6if (i == s.size()) {7if (t.size() == k) ans.push_back(t);8return;9}10// Pick11t.push_back(s[i]);12comb(i + 1, s, k, t);13t.pop_back();14// NotPick15comb(i + 1, s, k, t);16}1718CombinationIterator(string characters, int combinationLength) {19sort(characters.begin(), characters.end());20string t = "";21comb(0, characters, combinationLength, t);22}2324string next() {25return ans[j++];26}2728bool hasNext() {29if (j == ans.size()) return false;30return true;31}32};