Python 中的嚴格遞增連結串列
假設我們有一個單鏈表的頭部,我們需要檢查連結串列節點的值是否按嚴格升序排序。
因此,如果輸入類似 [2,61,105,157],則輸出將為 True。
為解決這個問題,我們將遵循以下步驟 -
定義一個函式 solve() 。這將佔用 head
如果 head.next 為空,則
返回 True
如果 head.val >= head.next.val,則
返回 False
返回 solve(head.next)
讓我們看以下實現以獲得更好的理解 -
示例
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 class Solution: def solve(self, head): if head.next == None: return True if head.val >= head.next.val: return False return self.solve(head.next) ob = Solution() head = make_list([2,61,105,157]) print(ob.solve(head))
輸入
[2,61,105,157]
輸出
True
廣告