Leetcode - Flip Game II

My code:

public class Solution {
    public boolean canWin(String s) {
        if (s == null || s.length() < 2) {
            return false;
        }
        for (int i = 0; i < s.length(); i++) {
            if (s.startsWith("++", i)) {
                String flippedStr = s.substring(0, i) + "--" + s.substring(i + 2);
                if (!canWin(flippedStr)) {
                    return true;
                }
            }
        }
        return false;
    }
}

reference:
https://discuss.leetcode.com/topic/27250/share-my-java-backtracking-solution/2

自己想的时候,就是杂七杂八的想法,混在一块,一团浆糊。
看了解法后,被震撼到了,太简洁了。
这种 backtracking 和以往的不太一样,其实本质也差不多。
但是真的没想到竟然是这么用 backtracking 。。。

Anyway, Good luck, Richardo! -- 09/19/2016

你可能感兴趣的:(Leetcode - Flip Game II)