diff --git a/number-of-1-bits/sooooo-an.ts b/number-of-1-bits/sooooo-an.ts new file mode 100644 index 0000000000..096cc565c5 --- /dev/null +++ b/number-of-1-bits/sooooo-an.ts @@ -0,0 +1,3 @@ +function hammingWeight(n: number): number { + return n.toString(2).replace(/0/g, "").length; +} diff --git a/valid-palindrome/sooooo-an.ts b/valid-palindrome/sooooo-an.ts new file mode 100644 index 0000000000..9c8b1e916e --- /dev/null +++ b/valid-palindrome/sooooo-an.ts @@ -0,0 +1,20 @@ +function isPalindrome(s: string): boolean { + const cleanString = s + .toLowerCase() + .replace(/\s+/g, "") + .replace(/[^a-z0-9]/g, ""); + + let left = 0; + let right = cleanString.length - 1; + + while (left < right) { + if (cleanString[left] !== cleanString[right]) { + return false; + } + + left++; + right--; + } + + return true; +}