484. Find Permutation

class Solution {
public:
vector<int> findPermutation(string s) {
vector<int> res;
for (int i = 0; i < s.size(); ) {
while (i < s.size() && s[i] == 'I') {
i++;
res.push_back(res.size() + 1);
}
int j = i;
while (j < s.size() && s[j] != 'I') j++;
int tmp = res.size() ;
for (int k = j + 1; k > tmp; k--) res.push_back(k);
i = j + 1;
}
if (res.size() == s.size()) res.push_back(s.size() + 1);
return res;
}
};