Flip Game
题目描述
You are playing the following Flip Game with your friend: Given a string that contains only these two characters: + and -, you and your friend take turns to flip two consecutive "++"
into "--"
. The game ends when a person can no longer make a move and therefore the other person will be the winner.
Write a function to compute all possible states of the string after one valid move.
For example, given s = "++++"
, after one move, it may become one of the following states:
[
"--++",
"+--+",
"++--"
]
If there is no valid move, return an empty list []
.
解题方法
1比较简单,只要找到"++",将它们被替代后的结果加到List里就可以。
Solution
class Solution(object):
def generatePossibleNextMoves(self, s):
"""
:type s: str
:rtype: List[str]
"""
length = len(s)
if length == 0 or length == 1:
return []
result = []
for i in range(length-1):
if s[i:i+2] == "++":
newStr = s[:i] + "--" + s[i+2:]
result.append(newStr)
return result