Given a string S and a character C, return an array of integers representing the shortest distance from the character C in the string.
Example 1:
Input: S = "loveleetcode", C = 'e' Output: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]Note:
S string length is in [1, 10000]. C is a single character, and guaranteed to be in string S. All letters in S and C are lowercase.
class Solution { public: vector<int> shortestToChar(string S, char C) { vector<int> pos, res; for(int i = 0; i < S.length(); i++){ if(S[i] == C) pos.push_back(i); } for(int i = 0; i < S.length(); i++){ if(S[i] == C) res.push_back(0); else { int Min = INT_MAX; for(int j = 0; j < pos.size(); ++j){ Min = min(Min, abs(i - pos[j])); } res.push_back(Min); } } return res; } };