LeetCode 1812[判断国际象棋棋盘中一个格子的颜色]-后端开发牛翰社区-编程开发-牛翰网

LeetCode 1812[判断国际象棋棋盘中一个格子的颜色]

题目

链接

LeetCode 1812[判断国际象棋棋盘中一个格子的颜色]

详情

实例

提示

题解

思路

8 * 8的格子,数量不多,所以我采用的是列举法

a,c,e,g 列的 1,3,5,7 行是黑色,输出 false,而 2,4,6,8 行是白色,输出 true

b,d,f,h 列的 2,4,6,8 行是黑色,输出 false,而 1,3,5,7 行是白色,输出 true

记 a,c,e,g 列,第一列;b,d,f,h 列,第二列

记 1,3,5,7 行,第一行;2,4,6,8 行,第二行

首先判断字符串的首字符是否属于第一列:

属于第一列:

再判断字符串的末尾字符是否属于第一行:

属于第一行:为黑色,输出 false

不属于第一行:为白色,输出 true

 

不属于第一列:

再判断字符串的末尾字符是否属于第一行:

属于第一行:为白色,输出 true

不属于第一行:为黑色,输出 false

代码

class Solution {
public:
    bool squareIsWhite(string coordinates) {

        if (('a' == coordinates[0]) || ('c' == coordinates[0]) ||
            ('e' == coordinates[0]) || ('g' == coordinates[0]))
        {
            if (('1' == coordinates[1]) || ('3' == coordinates[1]) ||
                ('5' == coordinates[1]) || ('7' == coordinates[1]))
                return false;
                
            return true;
        }

        if (('1' == coordinates[1]) || ('3' == coordinates[1]) ||
            ('5' == coordinates[1]) || ('7' == coordinates[1]))
            return true;
        
        return false;
    }
};
请登录后发表评论

    没有回复内容