All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0001_0100.s0009_palindrome_number.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0001_0100.s0009_palindrome_number;

// #Easy #Math #Udemy_Integers #2023_08_09_Time_4_ms_(100.00%)_Space_43_MB_(43.42%)

/**
 * 9 - Palindrome Number\.
 *
 * Easy
 *
 * Given an integer `x`, return `true` if `x` is palindrome integer.
 *
 * An integer is a **palindrome** when it reads the same backward as forward. For example, `121` is palindrome while `123` is not.
 *
 * **Example 1:**
 *
 * **Input:** x = 121
 *
 * **Output:** true 
 *
 * **Example 2:**
 *
 * **Input:** x = -121
 *
 * **Output:** false
 *
 * **Explanation:** From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome. 
 *
 * **Example 3:**
 *
 * **Input:** x = 10
 *
 * **Output:** false
 *
 * **Explanation:** Reads 01 from right to left. Therefore it is not a palindrome. 
 *
 * **Example 4:**
 *
 * **Input:** x = -101
 *
 * **Output:** false 
 *
 * **Constraints:**
 *
 * *   -231 <= x <= 231 - 1
 *
 * **Follow up:** Could you solve it without converting the integer to a string?
**/
public class Solution {
    public boolean isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        int rev = 0;
        int localX = x;
        while (localX > 0) {
            rev *= 10;
            rev += localX % 10;
            localX /= 10;
        }
        return rev == x;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy