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