*LeetCode-Flip Game II

backtracking 每次翻兩個 然後向下遞歸 但是注意要取下次遞歸的返回值 因爲假如對手一定輸了 那麼自己才一定贏了

public class Solution {
    public boolean canWin(String s) {
        for ( int i = 0; i < s.length() - 1; i ++ ){
            if ( s.charAt ( i ) == '+' && s.charAt( i + 1 ) == '+' ){
                StringBuilder sb = new StringBuilder ( s );
                sb.setCharAt ( i , '-');
                sb.setCharAt ( i + 1 ,'-');
                if ( !canWin ( sb.toString() ) )
                    return true;
            }
        }
        return false;
    }
}


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