
给你一个字符串 s ,每 两个 连续竖线 ‘|’ 为 一对 。换言之,第一个和第二个 ‘|’ 为一对,第三个和第四个 ‘|’ 为一对,以此类推。
请你返回 不在 竖线对之间,s 中 ‘*’ 的数目。
注意,每个竖线 ‘|’ 都会 恰好 属于一个对。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/count-asterisks
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:
def countAsterisks(self, s: str) -> int:
# 先找出竖线对的idx,分割字符串,统计星号就行了
shuxian_idx = []
for elem_idx in range(len(s)):
if s[elem_idx] == "|":
shuxian_idx.append(elem_idx)
count = 0
if len(shuxian_idx) != 0:
p = 0
while p <= len(shuxian_idx) - 1:
count += s[shuxian_idx[p]:shuxian_idx[p+1]].count("*")
p += 2
all_star_counts = s.count("*")
# print("*总数:", all_star_counts)
# print("要删掉的数:", count)
return all_star_counts - count
