檢查陣列中所有元素是否是迴文數


假設我們有一個數字列表 `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+ 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告