利用顺序栈实现回文数的判断的代码
时间: 2024-10-06 09:02:28 浏览: 44
java模拟顺序栈实现回文串的判断
5星 · 资源好评率100%
利用顺序栈(也叫数组栈)判断一个整数是否是回文数的算法通常是这样的:
```python
def isPalindrome(num):
if num < 0: # 负数不是回文数
return False
stack = [] # 初始化空栈
temp = num # 创建临时变量存储数字
while temp != 0:
digit = temp % 10 # 取出最后一位
stack.append(digit) # 入栈
temp //= 10 # 移除最后一位
while len(stack) > 0:
if stack.pop() != temp % 10: # 如果栈顶元素和当前数字不匹配,则不是回文
return False
temp //= 10 # 移除并更新temp
return True # 数字是回文,返回True
# 测试示例
print(isPalindrome(121)) # 输出:True
print(isPalindrome(123)) # 输出:False
```
这个代码首先检查输入的数是否为负数,然后将它的每一位数字压入栈中。接着,它从栈中取出每个元素并与下一个数字比较。如果所有对应位置的数字都相等,那么原始数字就是回文。
阅读全文