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. 判断国际象棋棋盘中一个格子的颜色