number-complement 2024-08-22 Leetcode Bit Manipulation 題目 將 bit 讀下來並做0、1互換由於讀取時是從尾端讀取,最後計算答案時是要從後往前回推 12345678910111213class Solution: def findComplement(self, num: int) -> int: mask = 1 ans = 0 data = [] while num > 0: data.append(0 if (num & mask) else 1) num = num >> 1 for i in range(len(data)-1, -1, -1): ans += data[i] ans = ans << 1 return ans >> 1 上一篇 RAG教學 分享