Leetcode 946. Validate Stack Sequences

class Solution:
    def validateStackSequences(self, pushed: List[int], popped: List[int]) -> bool:
        stack = []
        while len(popped) > 0:
            e = popped[0]

            while (not stack or e != stack[-1]) and len(pushed) > 0:
                stack.append(pushed.pop(0))

            if e != stack[-1]:
                return False

            popped.pop(0)
            stack and stack.pop()

        return len(pushed) == 0 and len(popped) == 0