Menu
Coddy logo textTech

Practice #1

Coddy'nin Çift Yönlü Bağlı Liste - Veri Yapıları Serisi #6 kursunda ders 10 / 14.

challenge icon

Görev

Kolay

Bir tam sayı dizisi arr (bir çift yönlü bağlı listenin değerleri) alan ve bu dizi ileri ve geri doğru aynı şekilde okunuyorsa true, aksi takdirde false döndüren bir isPalindrome fonksiyonu yazın.

Bu problemi çözmek için bir çift yönlü bağlı liste kullanın! Bir işaretçiyi head üzerinden ileriye, diğerini ise tail üzerinden geriye doğru yürütün; bu işaretçiler ortada buluşacaktır.

DoublyLinkedList sınıfını kullanmalısınız (node.<ext> ile birlikte doublylinkedlist.<ext> dosyasında sağlanmıştır) — sonucu hesaplamak için dizilerin ters çevrilmesi (reverse), dilimleme (slicing), sıralama (sort) veya standart kütüphane liste işlemleri gibi dile özgü yerleşik özellikleri kullanmayın.

Kendin dene

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"

int main() {
    char line[8192];
    if (!fgets(line, sizeof(line), stdin)) line[0] = '\0';
    int arr[4096];
    int len = 0;
    char* tok = strtok(line, " \t\r\n");
    while (tok) { arr[len++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
    int r = isPalindrome(arr, len);
printf("%s\n", r ? "true" : "false");
    return 0;
}

Çift Yönlü Bağlı Liste - Veri Yapıları Serisi #6 bölümündeki tüm dersler