1. 程式人生 > >力扣——數字的補數

力扣——數字的補數

dcom pub 它的 integer div fin 表示 取反 ==

給定一個正整數,輸出它的補數。補數是對該數的二進制表示取反。

註意:

  1. 給定的整數保證在32位帶符號整數的範圍內。
  2. 你可以假定二進制數不包含前導零位。

示例 1:

輸入: 5
輸出: 2
解釋: 5的二進制表示為101(沒有前導零位),其補數為010。所以你需要輸出2。

示例 2:

輸入: 1
輸出: 0
解釋: 1的二進制表示為1(沒有前導零位),其補數為0。所以你需要輸出0。

class Solution {
   public  int findComplement(int num) {
        String s = Integer.toBinaryString(num);
        StringBuffer s1 
= new StringBuffer(); for (char c : s.toCharArray()) { if (c == ‘0‘) { c = ‘1‘; }else if (c == ‘1‘){ c = ‘0‘; } s1 = s1.append(c); } return Integer.parseInt(s1.toString(), 2); } }

力扣——數字的補數