在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。
给定行数 N 和序数 K,返回第 N 行中第 K个字符。(K从1开始)
很明显的递归,只要弄清上一层和下一层之间的01关系即可。
class Solution {
public int kthGrammar(int N, int K) {
if(N==1)
return 0;
if(K%2==0)
return 1^kthGrammar(N-1,(K+1)/2);
return kthGrammar(N-1,(K+1)/2);
}
}