Sunday, September 27, 2020

L 293. Flip Game -----E

 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.

Example:

Input: s = "++++"
Output: 
[
  "--++",
  "+--+",
  "++--"
]

Note: If there is no valid move, return an empty list [].

A:

class Solution {
public:
    vector<string> generatePossibleNextMoves(string s) {
        vector<string> res;
        int n = s.length();
        for(int i =0; i<n-1;i++){
            string ss = s;
            if(ss[i]=='+' && ss[i+1]=='+'){
                ss[i]='-';
                ss[i+1] ='-';
                res.push_back(ss);
            }
        }
        
        return res;        
    }
};


No comments:

Post a Comment