Tek yönlü bağlı listeyi ters çevirin.
Cevap
Üç işaretçi ile yerinde (in-place) çözülür: onceki, simdiki, sonraki. O(n) zaman, O(1) alan.
function tersCevir(head) {
let onceki = null, simdiki = head;
while (simdiki) {
const sonraki = simdiki.next;
simdiki.next = onceki;
onceki = simdiki;
simdiki = sonraki;
}
return onceki;
}İlgili Algoritmalar & Veri Yapıları soruları
- Binary search'ün zaman karmaşıklığı nedir ve neden?
- Two Sum: toplamı hedefe eşit olan iki elemanın indekslerini bulun.
- Bir parantez dizisinin geçerli olup olmadığını kontrol edin: "({[]})"
- BFS ve DFS arasındaki fark nedir? Hangisini ne zaman kullanırsınız?
- get ve put işlemleri O(1) olan bir LRU Cache tasarlayın.
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.