Flip Game II
Description
null
Solution(javascript)
// /** 1: Backtracking
// * @param {string} s
// * @return {boolean}
// */
// const canWin = function (s) {
// const aux = (s) => {
// for (let i = 0; i < s.length; i++) {
// if (s[i] === '+' && s[i + 1] === '+') {
// const win = !aux(`${s.slice(0, i)}--${s.slice(i + 2)}`)
// if (win) {
// return true
// }
// }
// }
// return false
// }
// return aux(s)
// }
/** 1.2: Backtracking
* @param {string} s
* @return {boolean}
*/
const canWin = function (s) {
s = s.split('')
const aux = (s) => {
for (let i = 0; i < s.length; i++) {
if (s[i] === '+' && s[i + 1] === '+') {
s[i] = '-'
s[i + 1] = '-'
const win = !aux(s)
s[i] = '+'
s[i + 1] = '+'
if (win) {
return true
}
}
}
return false
}
return aux(s)
}