python leetcode 821. Shortest Distance to a Character

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:

  1. S string length is in [1, 10000].
  2. C is a single character, and guaranteed to be in string S.
  3. All letters in S and C are lowercase.


class Solution:
    def shortestToChar(self, S, C):
        """
        :type S: str
        :type C: str
        :rtype: List[int]
        """
        index_nums = []
        for i, letter in enumerate(S):
            if letter == C:
                index_nums.append(i)
                
        ans = []
        for j, word in enumerate(S):
            distance = [abs(j - index_num) for index_num in index_nums]
            ans.append(min(distance))
            
        return ans

你可能感兴趣的:(leetcode_python)