Python程式檢查樹中所有值是否相同
假設我們有一個二叉樹,我們需要檢查樹中的所有節點是否都具有相同的值。
因此,如果輸入類似於
則輸出將為True
為了解決這個問題,我們將遵循以下步驟:
定義一個函式solve()。它將接收根節點和值val作為引數。
如果根節點為空,則
返回True
如果val未定義,則
val := 根節點的值
當根節點的值與val相同,並且solve(根節點的左子節點, val)和solve(根節點的右子節點, val)也為真時,返回true
讓我們看一下以下實現以更好地理解:
示例
class TreeNode: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right class Solution: def solve(self, root, val=None): if not root: return True if val is None: val = root.val return root.val == val and self.solve(root.left, val) and self.solve(root.right, val) ob = Solution() root = TreeNode(5) root.left = TreeNode(5) root.right = TreeNode(5) root.left.left = TreeNode(5) root.left.right = TreeNode(5) print(ob.solve(root))
輸入
root = TreeNode(5) root.left = TreeNode(5) root.right = TreeNode(5) root.left.left = TreeNode(5) root.left.right = TreeNode(5)
輸出
True
廣告