From e98f34b995762a3344a65cf64d89b2c13d8fb162 Mon Sep 17 00:00:00 2001 From: Amit S Sahu Date: Sat, 19 Oct 2024 14:57:23 +0530 Subject: [PATCH] Time: 118 ms (20.62%), Space: 46.6 MB (49.22%) - LeetHub --- ...545-find-kth-bit-in-nth-binary-string.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 1545-find-kth-bit-in-nth-binary-string/1545-find-kth-bit-in-nth-binary-string.java diff --git a/1545-find-kth-bit-in-nth-binary-string/1545-find-kth-bit-in-nth-binary-string.java b/1545-find-kth-bit-in-nth-binary-string/1545-find-kth-bit-in-nth-binary-string.java new file mode 100644 index 0000000..32a1a72 --- /dev/null +++ b/1545-find-kth-bit-in-nth-binary-string/1545-find-kth-bit-in-nth-binary-string.java @@ -0,0 +1,20 @@ +class Solution { + StringBuilder ans = new StringBuilder("0"); + private StringBuilder invertAndReverse(StringBuilder sb) { + StringBuilder temp = new StringBuilder(); + for (int i = 0; i < sb.length(); i++) { + char curr = sb.charAt(i); + if (curr == '0') temp.append("1"); + else temp.append("0"); + } + return temp.reverse(); + } + + public char findKthBit(int n, int k) { + if (ans.length() >= k) return ans.charAt(k - 1); + if (n <= 1) return ans.charAt(k - 1); + StringBuilder temp = invertAndReverse(ans); + ans.append("1").append(temp); + return findKthBit(n - 1, k); + } +} \ No newline at end of file