Masalalar
Go Algoritm masala

Linked List o'rtasini topish

19 August, 2026
Go
package main

// type Node struct {
//     Val  int
//     Next *Node
// }


func (_ Solution) MiddleNode(head *Node) *Node {
  slow := head
  fast := head

  for fast != nil && fast.Next != nil {
    slow = slow.Next
    fast = fast.Next.Next
  }
  return slow
}

Yechim juda oddiy. biz berilgan Linked Listning o'rtasidagi Node ni return qilishimiz kerak. qanday qilib.


slow va fast, buyerda berilgan Linked Listni bir marta aylanib chiqamiz va unda fastga 2 karra tezlik beramiz, slowga oddiy yurish, ammo nimaga ?


Javob shuki bizdagi listni fast 2 karra aytalnishni boshlab start olganida shu vaqtda slow boshlaydi ishni u ozini tezligida shunda masalan fast 100% bolganida slow 50

% yani ortadagi yarmiga yetadi va oshani return qilamiz ))

👍 0 ❤️ 0 🔥 0

Izohlar 0

Izoh qoldirish uchun kiring yoki ro'yxatdan o'ting.

Hali izoh yo'q. Birinchi bo'ling!