井字棋LeetCode简单题

本文介绍如何在C++中实现井字棋(Tic Tac Toe)游戏,通过分析二维数组board中棋子的连通性,判断当前玩家是否赢得比赛。核心代码展示了遍历棋盘并检查棋子连线的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜(及井字棋规则),返回当前玩家是否胜出。

测试样例:

[[1,0,1],[1,-1,-1],[1,-1,0]]
返回:true
class Board {
public:
    bool checkWon(vector<vector<int> > board) {
        // write code here
        if(board[0][0] + board[1][1] + board[2][2] == 3 || 
          board[2][0] + board[1][1] + board[0][2] == 3) return true;
        for(int i = 0; i < 3; i++)
            if(board[i][0] + board[i][1] + board[i][2]  == 3 || 
              board[2][i] + board[1][i] + board[0][i] == 3) return true;
        return false;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值