मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें यह जांचना होगा कि ट्री के सभी नोड्स का मान समान है या नहीं।
तो, अगर इनपुट पसंद है
तो आउटपुट सही होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
फ़ंक्शन को हल करें () परिभाषित करें। यह जड़ लेगा, और वैल
-
अगर रूट शून्य है, तो
-
सही लौटें
-
-
यदि वैल परिभाषित नहीं है, तो
-
वैल:=रूट का मान
-
-
सही लौटें जब रूट का मान वैल के समान हो और हल करें (रूट के बाएं, वैल) और हल करें (रूट का दायां, वैल) भी सत्य हैं
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
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