Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

bitwise

# Check if the binary representation of a number is a palindrome

Ravi

## Problem statement

Given a number n, check if the binary representation of n is a palindrome.

Example 1:

• Input: n=5
• Output: Yes

The binary representation of 5 is 101, which is a palindrome.

Example 2:

• Input: n=10
• Output: No

The binary representation of 10 is 1010 which is not a palindrome.

## Solution

The algorithm is straightforward. Find the reverse binary representation of n and compare it with the binary representation of n.

### Code example

Let’s look at the code below:

class Main{

public static int findReverse(int n){
int reverse_bin = 0;

int temp = n;
while (temp > 0) {
reverse_bin = (reverse_bin << 1) | (temp & 1);
temp = temp >> 1;
}
return reverse_bin;
}

public static boolean isPalindrome(int n) {
return n == findReverse(n);
}

public static void main(String[] args) {
int n = 10;
System.out.println("Is binary representation of " + n + " a palindraome? " + (isPalindrome(n)?"Yes":"No"));
}
}
Try it out!

### Code explanation

• Lines 3 to 12: We reverse the computed binary number.
• Lines 14 to 16: We compare the reverse and original binary numbers.
• Lines 19 and 20: We set a binary number and call the isPalindrome() method.

RELATED TAGS

bitwise

CONTRIBUTOR

Ravi
RELATED COURSES

View all Courses

Keep Exploring

Learn in-demand tech skills in half the time