leetcode 算法题293 (简单079) 翻转游戏
- 题目介绍
你和朋友玩一个叫做「翻转游戏」的游戏,
游戏规则:
给定一个只有 + 和 - 的字符串。
你和朋友轮流将 连续 的两个 "++" 反转成 "--"。
当一方无法进行有效的翻转时便意味着游戏结束,则另一方获胜。
请你写出一个函数,来计算出每个有效操作后,字符串所有的可能状态。
- 示例
输入: s = “++++”
输出: [ “–++”,“±-+”, “+±-”]
- 注意
如果不存在可能的有效操作,请返回一个空列表 []。
- 解法一
/**
* @param {string} s
* @return {string[]}
*/
var generatePossibleNextMoves = function(s) {
let i = 0, temp = [];
while(i < s.length - 1) {
if(s[i++] === '+' && s[i] === '+') {
temp.push(s.substr(0, i - 1) + '--' + s.substr(i + 1));
}
}
return temp;
};
执行用时 : 64 ms, 在所有 JavaScript 提交中击败了100.00%的用户
内存消耗 : 33.7 MB, 在所有 JavaScript 提交中击败了100.00%的用户