কম্পিউটার টিউটোরিয়াল

পাইথনে দুটি বাইনারি ট্রির লিফ সিকোয়েন্স মিল কিনা যাচাই

দুটি বাইনারি ট্রি দেওয়া আছে। উভয় ট্রির বাম থেকে ডানে লিফ নোডের সিকোয়েন্স একই কিনা তা যাচাই করতে হবে।

উদাহরণ: উভয় ট্রির লিফ সিকোয়েন্স [2, 6] হলে আউটপুট True।

সমাধানের ধাপসমূহ

  • ইনঅর্ডার ট্রাভার্সাল দিয়ে লিফ নোডগুলো সংগ্রহ করুন
  • উভয় ট্রির লিফ তালিকা তুলনা করুন
  • সমান হলে True, অন্যথায় False ফেরত দিন

উদাহরণ কোড

class TreeNode:
    def __init__(self, data, left=None, right=None):
        self.val = data
        self.left = left
        self.right = right

class Solution:
    c = []
    def inorder(self, root, c=None):
        if c is None:
            c = []
        if root:
            self.inorder(root.left, c)
            if not root.left and not root.right:
                c.append(root.val)
            self.inorder(root.right, c)
        return c
    def solve(self, root0, root1):
        if self.inorder(root0) == self.inorder(root1):
            return True
        else:
            return False

ob = Solution()
root1 = TreeNode(1)
root1.right = TreeNode(3)
root1.right.left = TreeNode(2)
root1.right.right = TreeNode(6)
root2 = TreeNode(1)
root2.left = TreeNode(3)
root2.right = TreeNode(6)
root2.left.left = TreeNode(2)
print(ob.solve(root1, root2))

ইনপুট

root1 = TreeNode(1) root1.right = TreeNode(3) root1.right.left = TreeNode(2) root1.right.right = TreeNode(6) root2 = TreeNode(1) root2.left = TreeNode(3) root2.right = TreeNode(6) root2.left.left = TreeNode(2)

আউটপুট

True
  1. পাইথনে বাইনারি ট্রি রঙিন করা যাবে কিনা যাতে সংলগ্ন নোডগুলোর রঙ এক নহয় তা যাচাই করার প্রোগ্রাম

  2. পাইথনে গ্রাফ বাইপার্টাইট কিনা যাচাই করার প্রোগ্রাম

  3. পাইথন প্রোগ্রাম: দুটি লিস্ট সার্কুলারলি ইডেন্টিক্যাল কিনা চেক করা

  4. পাইথনে লিস্ট খালি কিনা যাচাই করার প্রোগ্রাম