Skip to content

Latest commit

 

History

History
64 lines (38 loc) · 1004 Bytes

README_EN.md

File metadata and controls

64 lines (38 loc) · 1004 Bytes

中文文档

Description

Write a program to swap odd and even bits in an integer with as few instructions as possible (e.g., bit 0 and bit 1 are swapped, bit 2 and bit 3 are swapped, and so on).

Example1:

 Input: num = 2(0b10)

 Output 1 (0b01)

Example2:

 Input: num = 3

 Output: 3

Note:

  1. 0 <= num <= 2^30 - 1
  2. The result integer fits into 32-bit integer.

Solutions

Python3

Java

class Solution {
    public int exchangeBits(int num) {
        int t1 = num >> 1;
    	int t2 = num << 1;
    	return t1 & 0x55555555 | t2 & 0xaaaaaaaa;
    }
}

...