Leetcode 293. Flip Game (Easy) (cpp)

Leetcode 293. Flip Game (Easy) (cpp)

Tag: String

Difficulty: Easy


/*

293. Flip Game (Easy)

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.empty()) {
			return{};
		}
		vector<string> res;
		for (int i = 0; i < s.size() - 1; i++) {
			if (s[i] == '+' && s[i + 1] == '+') {
				s[i] = '-';
				s[i + 1] = '-';
				res.push_back(s);
				s[i] = '+';
				s[i + 1] = '+';
			}
		}
		return res;
	}
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章