返回
LeetCode系列 | 回文数 - 算法练习的艺术
前端
2024-02-24 21:09:31
## 回文数
回文数是一个神奇的存在,它体现了一种对称美,在大自然中到处都是对称的例子,猎豹的四肢,狮子的面部,漂亮的蝴蝶翅膀,等等,从古至今,我们都被这种美所吸引。
回文数在数学和计算机科学中都有着广泛的应用。在数学中,回文数经常被用来研究数论和代数问题。在计算机科学中,回文数经常被用来设计和分析算法。
## 回文数的算法实现
回文数的算法实现有很多种,下面介绍两种最常用的方法:
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;
}
结语
回文数是一种对称的数字,它从左到右和从右到左读起来都是一样的。回文数在数学和计算机科学中都有着广泛的应用。
本文介绍了回文数的算法实现,并提供了多种编程语言的示例代码。希望这些内容对您有所帮助。