这是递归里的一题,等级为中等,这题的题意大概就是在规则范围内完成游戏即可,输赢或者平局只有这三种情况,这里不能出现犯规情况,否则就返回false。
分类讨论
考虑井字游戏板生效的必要条件:
-
因为所有的玩家轮流放棋,所以X的数量一定大于等于O的数量
-
获胜的玩家一定在自己放棋后赢得比赛
1)如果是第一个玩家获胜,则X的数量比O多1
2)如果是第二个玩家获胜,则X的数量与O相等 -
游戏板上不可能同时出现3个X在一行并且3个O在另一行。因为一旦有玩家获胜,游戏结束,另一名玩家不能再放棋。
下面上代码
class Solution {
public boolean validTicTacToe(String[] board) {
int Xcount=0,Ocount=0,index=0;
boolean[] xcount=new boolean[10];//储存X放入游戏板的位置
boolean[