diff options
Diffstat (limited to 'racket/leetcode/lc-476-number-complement.rkt')
-rw-r--r-- | racket/leetcode/lc-476-number-complement.rkt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/racket/leetcode/lc-476-number-complement.rkt b/racket/leetcode/lc-476-number-complement.rkt new file mode 100644 index 0000000..724bb47 --- /dev/null +++ b/racket/leetcode/lc-476-number-complement.rkt @@ -0,0 +1,11 @@ +#lang racket + +(define (flip-bit bit) + (cond [(char=? bit #\1) #\0] + [(char=? bit #\0) #\1])) + +(define/contract (find-complement num) + (-> exact-integer? exact-integer?) + (define num-binary-list + (string->list (number->string num 2))) + (string->number (apply ~a (map flip-bit num-binary-list)) 2))
\ No newline at end of file |