मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें यह जांचना है कि ट्री में सभी नोड्स के समान मान हैं या नहीं।
तो, यदि इनपुट इस तरह है

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