Skip to content
LC-0866 Medium LeetCode

866. Prime Palindrome

Read the full problem statement on LeetCode.
Difficulty: medium Acceptance: 27% Topics: Math, Number Theory
View full problem on LeetCode

Reading material

Reference solution (spoiler · python)
# Time:  O(n^(1/2) * (logn + n^(1/2)))
# Space: O(logn)


class Solution(object):
    def primePalindrome(self, N):
        """
        :type N: int
        :rtype: int
        """
        def is_prime(n):
            if n < 2 or n % 2 == 0:
                return n == 2
            return all(n % d for d in xrange(3, int(n**.5) + 1, 2))

        if 8 <= N <= 11:
            return 11
        for i in xrange(10**(len(str(N))//2), 10**5):
            j = int(str(i) + str(i)[-2::-1])
            if j >= N and is_prime(j):
                return j

Solution from kamyu104/LeetCode-Solutions · MIT