Java: Check if a number is a strobogrammatic number
Java Basic: Exercise-186 with Solution
Write a Java program to check if a number is a strobogrammatic number. The number is represented as a string.
According to Wikipedia "A strobogrammatic number is a number whose numeral is rotationally symmetric, so that it appears the same when rotated 180 degrees. In other words, the numeral looks the same right-side up and upside down (e.g., 69, 96, 1001). A strobogrammatic prime is a strobogrammatic number that is also a prime number, i.e., a number that is only divisible by one and itself (e.g., 11). It is a type of ambigram, words and numbers that retain their meaning when viewed from a different perspective, such as palindromes."
The first few strobogrammatic numbers are:
0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, ...
Pictorial Presentation:

Sample Solution:
Java Code:
import java.util.*;
public class Solution {
public static void main(String[] args) {
String n = "9006";
System.out.println("Is " + n + " is Strobogrammatic? " + is_Strobogrammatic(n));
}
public static boolean is_Strobogrammatic(String n) {
if (n == null || n.length() == 0) {
return true;
}
HashMap < Character, Character > map = new HashMap < Character, Character > ();
map.put('0', '0');
map.put('1', '1');
map.put('8', '8');
map.put('6', '9');
map.put('9', '6');
int left = 0;
int right = n.length() - 1;
while (left <= right) {
if (!map.containsKey(n.charAt(right)) || n.charAt(left) != map.get(n.charAt(right))) {
return false;
}
left++;
right--;
}
return true;
}
}
Sample Output:
Is 9006 is Strobogrammatic? true
Flowchart:

Java Code Editor:
Company: Google
Contribute your code and comments through Disqus.
Previous: Write a Java program to check if two given strings are isomorphic or not.
Next: Write a Java program to find the index of first non-repeating character in a given string.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join