> For the complete documentation index, see [llms.txt](https://jenhsuan.gitbook.io/algorithm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jenhsuan.gitbook.io/algorithm/leetcode/942.-di-string-match.md).

# 942. DI String Match

## 1.問題

* 給予一個只有'I'或'D'的字串, 回傳任意list:
  * 如果S\[i]為'I', 則A\[i] < A\[i + 1]
  * 如果S\[i]為'D', 則A\[i] > A\[i + 1]

![](/files/-LSKDfO88JFeIBDc5TnC)

## 2.想法

* 當I時, 插入前面的數字; 當D時, 插入後面的數字

## 3.程式碼

```
class Solution {
public:
    vector<int> diStringMatch(string S) {
        vector<int> res;
        int n = S.length(), f = 0, b = n;
        for (int i = 0; i <= n; i++) {
            if (S[i] == 'I') {
                res.push_back(f);
                f++;
            } else {
                res.push_back(b);
                b--;
            }
        }
        
        return res;
    }
};
```
