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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP