返回

LeetCode系列 | 回文数 - 算法练习的艺术

前端







## 回文数

回文数是一个神奇的存在,它体现了一种对称美,在大自然中到处都是对称的例子,猎豹的四肢,狮子的面部,漂亮的蝴蝶翅膀,等等,从古至今,我们都被这种美所吸引。

回文数在数学和计算机科学中都有着广泛的应用。在数学中,回文数经常被用来研究数论和代数问题。在计算机科学中,回文数经常被用来设计和分析算法。

## 回文数的算法实现

回文数的算法实现有很多种,下面介绍两种最常用的方法:

1. 递归法

def is_palindrome(n):
if n < 0:
return False
if n < 10:
return True
return n % 10 == n // 10 % 10 and is_palindrome(n // 100)


2. 迭代法

def is_palindrome(n):
if n < 0:
return False
reversed_n = 0
while n > 0:
reversed_n = reversed_n * 10 + n % 10
n //= 10
return n == reversed_n


## 编程语言示例

```python
def is_palindrome(n):
  if n < 0:
    return False
  reversed_n = 0
  while n > 0:
    reversed_n = reversed_n * 10 + n % 10
    n //= 10
  return n == reversed_n

print(is_palindrome(121))  # True
print(is_palindrome(-121))  # False
print(is_palindrome(10))  # False
class Solution {
  public boolean isPalindrome(int x) {
    if (x < 0) {
      return false;
    }
    int reversed_x = 0;
    while (x > 0) {
      reversed_x = reversed_x * 10 + x % 10;
      x /= 10;
    }
    return x == reversed_x;
  }
}
bool isPalindrome(int x) {
  if (x < 0) {
    return false;
  }
  int reversed_x = 0;
  while (x > 0) {
    reversed_x = reversed_x * 10 + x % 10;
    x /= 10;
  }
  return x == reversed_x;
}
function isPalindrome(x) {
  if (x < 0) {
    return false;
  }
  let reversed_x = 0;
  while (x > 0) {
    reversed_x = reversed_x * 10 + x % 10;
    x /= 10;
  }
  return x === reversed_x;
}

结语

回文数是一种对称的数字,它从左到右和从右到左读起来都是一样的。回文数在数学和计算机科学中都有着广泛的应用。

本文介绍了回文数的算法实现,并提供了多种编程语言的示例代码。希望这些内容对您有所帮助。