给定一个字符串 S
和一个字符 C
。返回一个代表字符串 S
中每个字符到字符串 S
中的字符 C
的最短距离的数组。
示例 1:
输入: S = "loveleetcode", C = 'e'
输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]
说明:
- 字符串
S
的长度范围为[1, 10000]
。 C
是一个单字符,且保证是字符串S
里的字符。S
和C
中的所有字母均为小写字母。
class Solution(object):
def shortestToChar(self, S, C):
"""
:type S: str
:type C: str
:rtype: List[int]
"""
distance=[]
for i in range(len(S)):
if S[i]==C:
distance.append(i)
result=[]
for i in range(len(S)):
temp=65535
for j in distance:
if C==S[i]:
temp=0
break
if abs(j-i)<temp:
temp=abs(j-i)
result.append(temp)
return result