9. Palindrome Number
At a Glance
- Topic: math-geometry
- Pattern: Reverse half (integer / math)
- Difficulty: Easy
- Companies: Amazon, Microsoft, Apple, Adobe, Bloomberg
- Frequency: High
- LeetCode: 9
Problem (one-liner)
Return whether a signed 32-bit integer reads the same forward and backward, without converting the entire number to a string (follow problem constraints as stated).
Recognition Cues
- "Palindrome" on integer
- Avoid extra string storage — reverse half or compare digit stacks
Diagram
At-a-glance flow (replace with problem-specific Mermaid as you refine this note). camelCase node IDs; no spaces in IDs.
Loading diagram…
Approaches
- Brute force — stringify and two pointers —
O(log n)time /O(log n)space. - Optimal — reverse the second half of digits —
O(log n)time /O(1)space — stop at middle.
Optimal Solution
Go
package main
func isPalindrome(value int) bool {
if value < 0 || (value%10 == 0 && value != 0) {
return false
}
reversedHalf := 0
for value > reversedHalf {
reversedHalf = reversedHalf*10 + value%10
value /= 10
}
return value == reversedHalf || value == reversedHalf/10
}JavaScript
function isPalindrome(value) {
if (value < 0 || (value % 10 === 0 && value !== 0)) {
return false;
}
let reversedHalf = 0;
while (value > reversedHalf) {
reversedHalf = reversedHalf * 10 + (value % 10);
value = Math.trunc(value / 10);
}
return value === reversedHalf || value === Math.trunc(reversedHalf / 10);
}Walkthrough
Input: value = 1221
| phase | value | reversedHalf | note |
|---|---|---|---|
| iter | 1221 → 122 → 12 | 1 → 12 | peel digits |
| end | 12 | 12 | equal halves |
Odd length: when value == reversedHalf/10 after middle digit folded into reversedHalf.
Edge Cases
- Negative numbers — not palindrome per definition
- Trailing zeros on positive numbers —
10,100fail fast - Single digit — true
Pitfalls
- Full reversal can overflow on edge inputs — half reversal avoids that
- Confusing odd vs even digit count termination
Similar Problems
- 125. Valid Palindrome — string two pointers.
- 007. Reverse Integer — digit-reversal building block in this topic.
Variants
- Base
basepalindrome check. - Next palindrome generation.
Mind-Map Tags
#palindrome #reverse-half #math #no-extra-space
Last updated on
Spotted something unclear or wrong on this page?