檢查一個數組在 Python 中是否表示二叉查詢樹的中序


假設我們有一個數字陣列,稱為 nums。我們必須檢查陣列是否按其中序遍歷的順序儲存了二叉查詢樹的元素。

因此,如果輸入類似 nums = [5, 8, 15, 18, 20, 26, 39],則輸出為 True,因為這是

為了解決此問題,我們將按照以下步驟操作 −

  • size := nums 的大小
  • 如果 size 為 0 或 1,則
    • 返回 True
  • 對於 range 1 至 size - 1 中的 i,執行
    • 如果 nums[i - 1] > nums[i],則
      • 返回 False
  • 返回 True

讓我們看看以下實現以獲得更好的理解 −

示例

 即時測試

def solve(nums):
   size = len(nums)
   if size == 0 or size == 1:
      return True
   for i in range(1, size):
      if nums[i - 1] > nums[i]:
         return False
   return True
nums = [5, 8, 15, 18, 20, 26, 39] 
print(solve(nums))

輸入

[5, 8, 15, 18, 20, 26, 39]

輸出

True

於以下時間更新: 30-12-2020

479 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.