Algoritmalar hakkında çok karmaşık makaleler nasıl yazılır. Son olarak, yazmaya en basit seviyeden başlamanın daha iyi olacağını düşünüyorum. Başlangıçtan itibaren, yapay zeka, makine öğrenimi algoritmaları ve çok sayıda matematik ve optimizasyon bilgisi gibi bazı ağır ağırlıklara sahip olacağım. Sanırım çok bunaltıcı olacak. Bunu yapamayabilirim, doğru.
Her soruya iki dilde, bir statik dil ve bir dinamik dilde çözüm getirmeyi planlıyorum.
Uygulama dilleri olarak C dili, Python ve Java'yı seçiyorum.Kısıtlı alan nedeniyle, diğer dilleri uygulamakla ilgilenen arkadaşlar, lütfen kendiniz deneyin.
LeetCode 237. Bağlantılı Listedeki Düğümü Silme (Bağlantılı Listedeki Düğümü Silme)
Lütfen bağlantılı listedeki belirli (uç olmayan) bir düğümü silmek için bir işlev yazın ve size yalnızca silinmesi gereken düğüm verilecektir.
Bağlantılı bir liste var - head =, şu şekilde ifade edilebilir:
Not:
Tek bağlantılı bir listenin bir düğümünü silmek, tekil bağlantılı bir listenin temel işlemidir.
İlke, silinen düğümün önceki düğümünün bir sonraki göstericisinin doğrudan düğümün ardıl düğümüne işaret etmesini sağlamaktır.
Bu prensibe göre düğümün öncülünü bilmemiz gerekir.
Ancak Leetcode tarafından sağlanan fonksiyon prototipine baktığımızda, sadece düğüm vardır, bu da düğümün öncülünü bilemeyeceğimiz anlamına gelir.
Düşüncemizi değiştirelim, adresi değiştirmeden düğüm ve düğümün halefi arasında veri içeriğini değiştirebilirsek, o zaman sözde selef vazgeçilebilir bir şey olacaktır.
Diğer bir deyişle, düğümün öncülü hala düğüme işaret ediyor, ancak şu anda düğümün içerik Düğümün halef düğümü ile aynı, İçerikten bahsettiğimi unutmayın, sadece veriler . Şu anda, düğümün halefi artık bir düğüm haline gelir, sadece silin.
kod aşağıdaki gibi gösterilir:
Hatırlatma: C dilinin belleği kendi başına yönetmesi gerekir, bu nedenle bellek sızıntısını önlemek için silinen düğümün serbest bırakılması gerekir.
Python uygulaması temelde C dilininkiyle aynıdır.
kod aşağıdaki gibi gösterilir:
Java uygulaması temelde C dili uygulamasıyla aynıdır.
kod aşağıdaki gibi gösterilir: