Check if a number is binary or not in Java
Last Updated :
11 Sep, 2023
Given a number N, the task is to check first whether the given number is binary or not and its value should be greater than 1. print true if N is the binary representation else print false.
Examples:
Input: N = 1010
Output: true
Explanation:
Given number is greater than 1 and none of its digits is greater than 1. Thus, it is a binary number greater than 1.
Examples: N = 1234
Output: false
Explanation:
Given number is greater than 1 but some of its digits { 2, 3, 4} are greater than 1. Thus, it is not a binary number.
Iterative Approach:
- Check if the number is less than or equal to 1. If it is then, print false.
- Else if number is greater than 1 then, check if every digits of the number is 1 or 0.
- If any digits of the number is greater than 1 then print false, else print true.
Below is the implementation of the above approach:
Java
class GFG {
public static boolean isBinaryNumber( int num)
{
if (num == 0 || num == 1 || num < 0 ) {
return false ;
}
while (num != 0 ) {
if (num % 10 > 1 ) {
return false ;
}
num = num / 10 ;
}
return true ;
}
public static void main(String args[])
{
int N = 1010 ;
System.out.println(isBinaryNumber(N));
}
}
|
Time Complexity: O(K), K is the number of digits in N
Auxiliary Space: O(1)
Regular Expression Approach:
1. Convert the number into string.
2. Create a Regular Expression as mentioned below:
regex = “[01][01]+”;
where:
- [01][01] matches one of the following { “00”, “01”, “10”, “11” }.
- + matches one or more occurrence of previous regular expression
3. Match the given number with the regular expression. If it matches return true, else return false.
Below is the implementation of the above approach:
Java
import java.util.regex.*;
class GFG {
public static boolean isBinaryNumber( int num)
{
String regex = "[01][01]+" ;
return Integer.toString(num).matches(regex);
}
public static void main(String args[])
{
int N = 1010 ;
System.out.println(isBinaryNumber(N));
}
}
|
Time Complexity: O(K), K is the number of digits in N
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...