題目連結:
題目意譯:
每個非負整數 N 有著一個二進位制表示法。例如, 5 可以表為二進位的「101」、 11 為二進位的「1011」等等。注意除了 N = 0 之外,二進位制中沒有任何前導 0。
二進位表示法的補數為將二進位制中的每個 1 變為 0 、 0 變為 1 後得到的數字。例如,二進位「101」之補數為二進位數「010」。
給定一個十進位制數字 N ,回傳其二進位制之補數的十進位表示法。
注:
0 ≦ N < 10 ^ 9
範例測資:
範例 1:
輸入: 5
輸出: 2
解釋: 5 二進位為「101」,其補數為二進位「010」,其等於十進位的 2 。
範例 2:
輸入: 7
輸出: 0
解釋: 7 二進位為「111」,其補數為二進位「000」,其等於十進位的 0 。
範例 3:
輸入: 10
輸出: 5
解釋: 10 二進位為「1010」,其補數為二進位「0101」,其等於十進位的 5 。
解題思維:
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。