मान लीजिए कि हमारे पास एक बाइनरी ट्री रूट है, हमें इसे उल्टा करना होगा ताकि इसके लेफ्ट सबट्री और राइट सबट्री का आदान-प्रदान हो और उनके बच्चों का भी पुनरावर्ती रूप से आदान-प्रदान हो।
तो, अगर इनपुट पसंद है
तो आउटपुट होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
हल करने के तरीके को परिभाषित करें (), यह नोड लेगा
-
अगर रूट शून्य है, तो
-
वापसी
-
-
रूट का बायां:=हल करें (रूट के दाएं)
-
जड़ का अधिकार :=हल करें (मूल का दायां)
-
वापसी जड़
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class TreeNode: def __init__(self, value): self.val = value self.left = None self.right = None def inorder(root): if root: inorder(root.left) print(root.val, end=', ') inorder(root.right) class Solution: def solve(self, root): if not root: return root.left, root.right = self.solve(root.right), self.solve(root.left) return root ob = Solution() root = TreeNode(5) root.left = TreeNode(4) root.right = TreeNode(10) root.right.left = TreeNode(7) root.right.right = TreeNode(15) inv = ob.solve(root) inorder(inv)
इनपुट
root = TreeNode(5) root.left = TreeNode(4) root.right = TreeNode(10) root.right.left = TreeNode(7) root.right.right = TreeNode(15)
आउटपुट
15, 10, 7, 5, 4,