def build(self, n, cur, ret):
        """
        build from inside
        """
        if n%2 == 1 and len(cur) == 0:
            for elt in self.middle:
                cur.append(elt)
                self.build(n, cur, ret)
                cur.pop()
        else:
            if len(cur) == n:
                ret.append("".join(cur))
                return
            for elt in self.lst:
                if not (elt == "00" and len(cur) == 2-n):
                    cur.appendleft(elt[0])
                    cur.append(elt[1])
                    self.build(n, cur, ret)
                    cur.pop()
                    cur.popleft()
dataset/ETHPy150Open algorhythms/LeetCode/247 Strobogrammatic Number II.py/Solution.build/swapped operands of `-`