class Solution {
public:
vector<int> diStringMatch(string s) {
int n = s.size();
int minv = 0, maxv = n;
vector<int> res(n + 1, 0);
for (int i = 0; i < n; i ++ ) {
if (s[i] == 'I') res[i] = minv, minv ++ ;
else res[i] = maxv, maxv -- ;
}
res[n] = maxv;
return res;
}
};