https://leetcode.com/problems/find-kth-bit-in-nth-binary-string/

1. Use recursion:

  1. //0 ms 6.2 MB
  2. class Solution {
  3. public:
  4. char findKthBit(int n, int k) {
  5. int kth = findChar(n,k);
  6. return (kth + '0');
  7. }
  8. private:
  9. int findChar(int n,int k) {
  10. if(n==1 || k==1)
  11. return 0;
  12. int len = pow(2,n) - 1;
  13. int mid = len/2;
  14. if(mid+1 == k)
  15. return 1;
  16. if(k<=mid){
  17. return findChar(n-1,k);
  18. }
  19. else{
  20. return !findChar(n-1, (len-k+1));
  21. }
  22. }
  23. };