LeetCode1812. 判断国际象棋棋盘中一个格子的颜色(C++)

Posted 敲代码两年半的练习生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode1812. 判断国际象棋棋盘中一个格子的颜色(C++)相关的知识,希望对你有一定的参考价值。

1 题目描述

给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。

如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。
给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。

2 示例描述

2.1 示例1

输入:coordinates = “a1”
输出:false
解释:如上图棋盘所示,“a1” 坐标的格子是黑色的,所以返回 false 。

2.2 示例2

输入:coordinates = “h3”
输出:true
解释:如上图棋盘所示,“h3” 坐标的格子是白色的,所以返回 true 。

2.3 示例3

输入:coordinates = “c7”
输出:false

3 解题提示

coordinates.length == 2
‘a’ <= coordinates[0] <= ‘h’
‘1’ <= coordinates[1] <= ‘8’

4 解题思路

不难发现,这里的格子都是间隔的,已知第一个是列号,第二个是行号。
列号是字母,已知a的askii码为97,除以2余1,那后一个就是除以2余0,以此类推
列号是数字,已知单数除以2余1,双数除以2余0,则可进行判断并出结果

5 代码详解

class Solution {
public:
    bool squareIsWhite(string coordinates) {
        if (coordinates[0] % 2 == 1 && coordinates[1] % 2 == 1)
        {
            return false ;
        }
        else if (coordinates[0] % 2 == 1 && coordinates[1] % 2 == 0)
        {
            return true ;
        }
        else if (coordinates[0] % 2 == 0 && coordinates[1] % 2 == 0)
        {
            return false ;
        }
        return true ;
    }
};

以上是关于LeetCode1812. 判断国际象棋棋盘中一个格子的颜色(C++)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode1812. 判断国际象棋棋盘中一个格子的颜色(C++)

LeetCode1812. 判断国际象棋棋盘中一个格子的颜色(C++)

「 每日一练,快乐水题 」1812. 判断国际象棋棋盘中一个格子的颜色

「 每日一练,快乐水题 」1812. 判断国际象棋棋盘中一个格子的颜色

「 每日一练,快乐水题 」1812. 判断国际象棋棋盘中一个格子的颜色

力扣1812,LCP17,2011,1876,520,709,1704,1844,1805题解