leetcode293.翻转游戏

163 阅读1分钟

293.翻转游戏

给定一个只有 + 和 - 的字符串。你和朋友轮流将 连续 的两个 "++" 反转成 "--"。 当一方无法进行有效的翻转时便意味着游戏结束,则另一方获胜。

请你写出一个函数,来计算出每个有效操作后,字符串所有的可能状态。

如果不存在可能的有效操作,请返回一个空列表 []。

输入: s = "++++"

输出: [ "--++", "+--+", "++--"]

class Solution(object):
    def generatePossibleNextMoves(self, s: str) -> List[str]:
        ans = []
        for i in range(0, len(s) - 1):
            if s[i:i + 2] == "++":
                ans.append(s[:i] + "--" + s[i + 2:])
        return ans