LeetCode——第K个语法符号

题目地址:https://leetcode-cn.com/problems/k-th-symbol-in-grammar/

解题思路:找规律,第N行前半部分是第N-1行,后半部分是第N-1行按位取反。

class Solution {
public:
    int kthGrammar(int N, int K) {
        if (N == 1)
            return 0;
        int tmp = 1 << (N - 2);//前半部分和N-1行的一样
        if (K <= tmp)
            return kthGrammar(N - 1, K);
        else//后半部分是N-1行的反码
            return 1-kthGrammar(N - 1, K - tmp);
    }
};
原文地址:https://www.cnblogs.com/cc-xiao5/p/13854009.html