检查数组中所有元素是否是回文数


假设我们有一个数字列表 `nums`。我们必须检查该列表是否为回文数。

因此,如果输入类似于 `nums = [10, 12, 15, 12, 10]`,则输出将为 `True`。

为了解决这个问题,我们将遵循以下步骤:

  • `n` := `nums` 的大小
  • 重置 `is_palindrome`
  • `i` := 0
  • 当 `i` < (n / 2) 并且 `n` 不为 0 时,执行
    • 如果 `nums[i]` 不等于 `nums[n - i - 1]`,则
      • 设置 `is_palindrome`
      • 退出循环
    • `i` := i + 1
  • 如果设置了 `is_palindrome`,则
    • 返回 `False`
  • 否则,
    • 返回 `True`

让我们看看以下实现以更好地理解代码:

示例

 演示

def solve(nums):
   n = len(nums)
   is_palindrome = 0
   i = 0
   while i <= n // 2 and n != 0:
      if nums[i] != nums[n - i - 1]:
         is_palindrome = 1
         break
      i += 1
   if is_palindrome == 1:
      return False
   else:
      return True
nums = [10, 12, 15, 12, 10]
print(solve(nums))

输入

[10, 12, 15, 12, 10]

输出

True

更新于:2020-12-29

2K+ 次浏览

开启您的 职业生涯

完成课程以获得认证

开始
广告