Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में जांचें कि सभी पत्ते एक ही लेवल पर हैं या नहीं


मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें जांचना है कि सभी पत्ते (लीफ नोड्स) एक ही लेवल पर हैं या नहीं।

उदाहरण के लिए, यदि इनपुट निम्न ट्री है:

पायथन में जांचें कि सभी पत्ते एक ही लेवल पर हैं या नहीं

तो आउटपुट True होगा।

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • dfs() फ़ंक्शन परिभाषित करें जो root, d लेता है।

  • यदि root null नहीं है:

    • यदि root.left और root.right दोनों null हैं, तो depth सूची में d जोड़ें।

    • अन्यथा, dfs(root.left, d+1) और dfs(root.right, d+1) कॉल करें।

  • मुख्य विधि से:

    • depth := []।

    • dfs(root, 0) कॉल करें।

    • यदि depth सेट का आकार 1 है तो True लौटाएं, अन्यथा False।

उदाहरण

class TreeNode:    def __init__(self, value):       self.val = value       self.left = None       self.right = None class Solution:    def solve(self, root):       self.depth = []       self.dfs(root, 0)       return len(set(self.depth)) == 1    def dfs(self, root, depth):       if root:          if not root.left and not root.right:             self.depth.append(depth)          else:             self.dfs(root.left, depth + 1)             self.dfs(root.right, depth + 1) ob = Solution() root = TreeNode(5) root.left = TreeNode(4) root.left.left = TreeNode(2) root.right = TreeNode(10) root.right.left = TreeNode(7) root.right.right = TreeNode(15) print(ob.solve(root))

इनपुट

root = TreeNode(5) root.left = TreeNode(4) root.left.left = TreeNode(2) root.right = TreeNode(10) root.right.left = TreeNode(7) root.right.right = TreeNode(15)

आउटपुट

True

  1. पायथन में ट्री के इनऑर्डर अनुक्रम के पैलिंड्रोम होने की जांच करने का प्रोग्राम पायथन में ट्री के इनऑर्डर अनुक्रम के पैलिंड्रोम होने की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है जहां प्रत्येक नोड में 0-9 से एक अंक होता है, हमें जांचना है कि इसका इन-ऑर्डर ट्रैवर्सल पैलिंड्रोम है या नहीं।इसलिए, यदि इनपुट इस तरह हैतो आउटपुट True होगा, क्योंकि इसका इनऑर्डर ट्रैवर्सल [2,6,10,6,2] है।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −यदि r

  1. पायथन में बाइनरी ट्री के BST होने की जांच करने का प्रोग्राम पायथन में बाइनरी ट्री के BST होने की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें जांचना है कि क्या यह एक बाइनरी सर्च ट्री है या नहीं। जैसा कि हम जानते हैं एक BST के निम्न गुण होते हैं: इसके बाएं सबट्री के सभी नोड्स वर्तमान नोड के मान से छोटे होते हैं इसके दाएं सबट्री के सभी नोड्स वर्तमान नोड के मान से बड़े होते हैं ये गुण सभी नोड्स क

  1. पायथन में जांचें कि क्या कोई मान BST में मौजूद है या नहीं पायथन में जांचें कि क्या कोई मान BST में मौजूद है या नहीं

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