কম্পিউটার

গাছের সমস্ত মান পরীক্ষা করার প্রোগ্রাম পাইথনে একই বা না


ধরুন আমাদের একটি বাইনারি গাছ আছে, আমাদের পরীক্ষা করতে হবে গাছের সমস্ত নোডের মান একই আছে কি না।

সুতরাং, যদি ইনপুট মত হয়

গাছের সমস্ত মান পরীক্ষা করার প্রোগ্রাম পাইথনে একই বা না

তাহলে আউটপুট হবে True

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • একটি ফাংশন সমাধান () সংজ্ঞায়িত করুন। এটি রুট গ্রহণ করবে, এবং ভ্যাল

  • যদি রুট শূন্য হয়, তাহলে

    • রিটার্ন ট্রু

  • যদি val সংজ্ঞায়িত না হয়, তাহলে

    • val :=রুটের মান

  • যখন রুটের মান ভ্যালের সমান হয় এবং সমাধান (মূলের বাম, ভাল) এবং সমাধান (মূলের ডান, ভাল)ও সত্য হয়

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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

  1. পাতার ক্রম দুটি পাতার সমান নাকি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. প্রদত্ত গাছটি পাইথনে সিমেট্রিক ট্রি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. পাইথনে একটি গাছের ক্রমক্রম প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. পাইথনে একটি বাইনারি ট্রি বিএসটি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম