Shortest Distance to a Character (Leetcode 821)

Problem Link: https://leetcode.com/problems/shortest-distance-to-a-character/

class Solution:
    def shortestToChar(self, s: str, c: str) -> List[int]:
        
        n=len(s)
        ans=[]
        k=-1
        for i in range(n):
            if(s[i]==c):
                k=i
            if(k==-1):
                ans.append(float('inf'))
            else:
                ans.append(i-k)
        
        k=n
        for i in range(n-1,-1,-1):
            if(s[i]==c):
                k=i
            if(k!=n):
                ans[i]=min(ans[i],k-i)
        return ans

Last updated