DEV Community


Posted on

Leetcode Solutions: Count Asterisks

You are given a string s, where every two consecutive vertical bars '|' are grouped into a pair. In other words, the 1st and 2nd '|' make a pair, the 3rd and 4th '|' make a pair, and so forth.

Return the number of '' in s, excluding the '' between each pair of '|'.

Note that each '|' will belong to exactly one pair.

class Solution(object):
    def countAsterisks(self, s):

        if not "*" in s:
            return 0

        stack = []
        count = 0

        for char in s:
            if char == "|":
                count += 1


            if count == 2:
                while count:
                    el = stack.pop()
                    if el == "|":
                        count -= 1

        return "".join(stack).count("*") 

Enter fullscreen mode Exit fullscreen mode

Discussion (0)