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

तो आउटपुट 14 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- recurse() फ़ंक्शन परिभाषित करें। यह node लेगा
- val := node का मान
- यदि node का बाएं null नहीं है, तो val := val + recurse(node का बाएं)
- यदि node का दाएं null नहीं है, तो val := val + recurse(node का दाएं)
- val लौटाएं
- मुख्य मेथड से, निम्नलिखित करें:
- यदि root नॉन-ज़ीरो नहीं है, तो 0 लौटाएं
- recurse(root) लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class TreeNode:
def __init__(self, data, left=None, right=None):
self.val = data
self.left = left
self.right = right
class Solution:
def recurse(self, node):
val = node.val
if node.left:
val += self.recurse(node.left)
if node.right:
val += self.recurse(node.right)
return val
def solve(self, root):
if not root:
return 0
return self.recurse(root)
ob = Solution()
root = TreeNode(2)
root.right = TreeNode(4)
root.right.left = TreeNode(3)
root.right.right = TreeNode(5)
print(ob.solve(root))
इनपुट
root = TreeNode(2)
root.right = TreeNode(4)
root.right.left = TreeNode(3)
root.right.right = TreeNode(5)
आउटपुट
14