在 Python 中檢查給定連結串列的長度是偶數還是奇數


假設我們有一個連結串列,我們需要檢查它的長度是奇數還是偶數。

因此,如果輸入類似 head = [5,8,7,4,3,6,4,5,8],那麼輸出將是 Odd(奇數)。

為了解決這個問題,我們將遵循以下步驟 -

  • 當 head 不為 null 且 head 的下一個不為 null 時,進行
    • head := head 的下一個的下一個
  • 如果 head 為 null,則
    • 返回 "偶數"
  • 返回 "奇數"

下面我們來看以下實現以獲得更好的理解 -

示例程式碼

線上演示

class ListNode:
   def __init__(self, data, next = None):
      self.val = data
      self.next = next

def make_list(elements):
   head = ListNode(elements[0])
   for element in elements[1:]:
      ptr = head
      while ptr.next:
         ptr = ptr.next
      ptr.next = ListNode(element)
      
   return head
      
def solve(head):
   while head != None and head.next != None: 
      head = head.next.next
           
   if head == None:
      return "Even"
   return "Odd"

head = make_list([5,8,7,4,3,6,4,5,8])
print(solve(head))

輸入

[5,8,7,4,3,6,4,5,8]

輸出

Odd

更新日期:16-Jan-2021

151 次瀏覽

開啟您的事業

完成此課程並獲得認證

立即開始
廣告