Advertisement
821. Shortest Distance to a Character
EasyView on LeetCode
821.cs
C#
public class Solution
{
public int[] ShortestToChar(string s, char c)
{
int n = s.Length;
int[] ans = new int[n];
int prev = -n;
for (int i = 0; i < n; ++i)
{
if (s[i] == c)
prev = i;
ans[i] = i - prev;
}
for (int i = prev - 1; i >= 0; --i)
{
if (s[i] == c)
prev = i;
ans[i] = Math.Min(ans[i], prev - i);
}
return ans;
}
}Advertisement