Shortest Distance to a Character
扫两次, 用count记录非C的字符的个数, 这时候注意两边的corn case, 开始扫的时候要把count设置为MAX, 因为如果是0, 那么是意味着当前i的位置的字符是C. 所以要设置成MAX
class Solution {
public int[] shortestToChar(String S, char C) {
int[] res = new int[S.length()];
int count = Integer.MAX_VALUE / 2;
for (int i = 0 ; i < S.length(); i++) {
if(S.charAt(i) == C) {
count = 0;
}
res[i] = count++;
}
count = Integer.MAX_VALUE / 2;
for(int i = S.length() - 1; i >= 0; i--) {
if(S.charAt(i) == C) {
count = 0;
}
res[i] = Math.min(count++, res[i]);
}
return res;
}
}