942. DI String Match

1.問題

  • 給予一個只有'I'或'D'的字串, 回傳任意list:

    • 如果S[i]為'I', 則A[i] < A[i + 1]

    • 如果S[i]為'D', 則A[i] > A[i + 1]

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;
    }
};

Last updated