Skip to main content
LeetCode 1056, Easy. Topics: Math. View on LeetCode. Generate this problem as a practice environment: tested reference solution, 61 parametrized pytest cases, and a playground notebook:

Problem

A confusing number is a number that when rotated 180 degrees becomes a different number with each digit valid. We can rotate digits of a number by 180 degrees to form new digits.
  • When 0, 1, 6, 8, and 9 are rotated 180 degrees, they become 0, 1, 9, 8, and 6 respectively.
  • When 2, 3, 4, 5, and 7 are rotated 180 degrees, they become invalid.
Note that after rotating a number, we can ignore leading zeros.
  • For example, after rotating 8000, we have 0008 which is considered as just 8.
Given an integer n, return true if it is a confusing number*, or* false otherwise.

Examples

Constraints

  • 0 <= n <= 10^9

Solution

Reference implementation from solution.py on GitHub, full suite in test_solution.py:

Complexity

Tags

NeetCode All.
Last modified on September 7, 2026