Skip to content

Latest commit

 

History

History

2443

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Given a non-negative integer num, return true if num can be expressed as the sum of any non-negative integer and its reverse, or false otherwise.

 

Example 1:

Input: num = 443
Output: true
Explanation: 172 + 271 = 443 so we return true.

Example 2:

Input: num = 63
Output: false
Explanation: 63 cannot be expressed as the sum of a non-negative integer and its reverse so we return false.

Example 3:

Input: num = 181
Output: true
Explanation: 140 + 041 = 181 so we return true. Note that when a number is reversed, there may be leading zeros.

 

Constraints:

  • 0 <= num <= 105

Companies: Amazon

Related Topics:
Math, Enumeration

Similar Questions:

Solution 1.

// OJ: https://leetcode.com/problems/sum-of-number-and-its-reverse
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(1)
class Solution {
    int reverse(int n) {
        int ans = 0;
        while (n) {
            ans = ans * 10 + n % 10;
            n /= 10;
        }
        return ans;
    }
public:
    bool sumOfNumberAndReverse(int n) {
        for (int i = 0; i <= n; ++i) {
            if (i + reverse(i) == n) return true;
        }
        return false;
    }
};