[leetcode] 293. Flip Game 解题报告

题目链接:https://leetcode.com/problems/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 [].


思路:只要判断连续的是不是"++"就行了,然后将其加入结果中去.

代码如下:

class Solution {
public:
    vector<string> generatePossibleNextMoves(string s) {
        if(s.size()==0 || s.size()==1) return result;
        for(int i = 0; i < s.size()-1; i++)
        {
            if(s.substr(i,2) == "++")
            {
                string tem = s.substr(0,i) + "--" + s.substr(i+2);
                result.push_back(tem);
            }
        }
        return result;
    }
private:
    vector<string> result;
};


你可能感兴趣的:(LeetCode,String)