Given a number ‘n’ and our goal is to find out it is palindrome or not without using
any extra space. We can’t make a new copy of number .
Input : 2332 Output : Yes it is Palindrome. Explanation: original number = 2332 reversed number = 2332 Both are same hence the number is palindrome. Input :1111 Output :Yes it is Palindrome. Input : 1234 Output : No not Palindrome.
A recursive solution is discussed in below post.
Check if a number is Palindrome
In this post a different solution is discussed.
1) We can compare the first digit and the last digit, then we repeat the process.
2) For the first digit, we need the order of the number. Say, 12321. Dividing this by 10000 would get us the leading 1. The trailing 1 can be retrieved by taking the mod with 10.
3 ) Now, to reduce this to 232.
(12321 % 10000)/10 = (2321)/10 = 232
4 ) And now, the 10000 would need to be reduced by a factor of 100.
Here is the implementation of the above algorithm :
Yes, it is Palindrome
This article is contributed by Abhijit Shankhdhar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check if the characters in a string form a Palindrome in O(1) extra space
- Length of longest palindrome list in a linked list using O(1) extra space
- Check if any permutation of a number without any leading zeros is a power of 2 or not
- Check if there exists any sub-sequence in a string which is not palindrome
- Check if sum of any subarray is Palindrome or not
- Check if any anagram of a string is palindrome or not
- Merge two sorted arrays in O(1) extra space using QuickSort partition
- Sum of all substrings of a string representing a number | Set 2 (Constant Extra Space)
- Rearrange an array so that arr[i] becomes arr[arr[i]] with O(1) extra space
- Merge two sorted arrays with O(1) extra space
- Merge Sort with O(1) extra space merge and O(n lg n) time
- Efficiently merging two sorted arrays with O(1) extra space
- Length of the longest substring that do not contain any palindrome
- Check if a number with even number of digits is palindrome or not
- Program to check if an array is palindrome or not using Recursion
- Program to check if an Array is Palindrome or not using STL in C++
- Check if number is palindrome or not in Octal
- Recursive program to check if number is palindrome or not
- Program to check the number is Palindrome or not
- Check if number is palindrome or not in base B
Improved By : jit_t