কম্পিউটার

পাইথনে দুটি লিঙ্ক করা তালিকা থেকে তালিকা উপাদানগুলিকে আন্তঃলিভ করার প্রোগ্রাম


ধরুন আমাদের দুটি লিঙ্কযুক্ত তালিকা l1 এবং l2 আছে, আমাদের এই দুটি তালিকার উপাদানগুলিকে l1 দিয়ে শুরু করে একটি লিঙ্কযুক্ত তালিকা ফেরত দিতে হবে। লিঙ্ক করা তালিকায় কোনো অবশিষ্ট নোড থাকলে, সেগুলি তালিকায় যুক্ত করা উচিত।

সুতরাং, ইনপুট যদি l1 =[5,4,6,3,4,7] l2 =[8,6,9] এর মত হয়, তাহলে আউটপুট হবে [5,8,4,6,6,9, ৩,৪,৭]

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

  • উত্তর :=l1

  • যখন l2 শূন্য নয়, করুন

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

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

        • newnode :=l2 এর একই মান সহ একটি নতুন তালিকা নোড

        • নিউনোডের পরের :=উত্তরের পরের

        • উত্তরের পরের :=নিউনোড

        • উত্তর :=নিউনোডের পাশে

        • l2 :=l2 এর পরবর্তী

      • অন্যথায়,

      • উত্তরের পরের :=l2

      • লুপ থেকে বেরিয়ে আসুন

    • অন্যথায়,


      • ফেরত l2


  • ফেরত l1

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

উদাহরণ

Source Code (Python):
class ListNode:
   def __init__(self, data, next = None):
      self.val = data
      self.next = next

def make_list(elements):
   head = ListNode(elements[0])
   for element in elements[1:]:
      ptr = head
      while ptr.next:
         ptr = ptr.next
      ptr.next = ListNode(element)

   return head

def print_list(head):
   ptr = head
   print('[', end = "")
   while ptr:
      print(ptr.val, end = ", ")
      ptr = ptr.next
print(']')

class Solution:
   def solve(self, l1, l2):
      ans = l1
      while l2:
         if ans:
            if ans.next != None:
               newnode = ListNode(l2.val, None)
               newnode.next = ans.next
               ans.next = newnode
               ans = newnode.next
               l2 = l2.next
            else:
               ans.next = l2
               break
            else:
               return l2
               return l1

ob = Solution()
l1 = make_list([5,4,6,3,4,7])
l2 = make_list([8,6,9])
res = ob.solve(l1,l2)
print_list(res)

ইনপুট

[5,4,6,3,4,7],[8,6,9]

আউটপুট

[5, 8, 4, 6, 6, 9, 3, 4, 7, ]

  1. পাইথন প্রোগ্রাম একটি সেট থেকে একটি তালিকা থেকে উপাদান নিষ্কাশন

  2. একটি তালিকা থেকে প্যালিনড্রোমিক উপাদানগুলি সরানোর জন্য পাইথন প্রোগ্রাম

  3. পাইথন ব্যবহার করে লিঙ্কযুক্ত তালিকা হিসাবে দেওয়া দুটি বহুপদ যোগ করার প্রোগ্রাম

  4. পাইথনে লিঙ্ক করা তালিকা থেকে m নোডের পরে n নোড মুছে ফেলার প্রোগ্রাম