Menu
CoddyTech

Latihan #1

Pelajaran 10 dari 14 dalam kursus Daftar Berantai Ganda, Seri Struktur Data #6 di Coddy.

challenge icon

Tantangan

Mudah

Tulis fungsi isPalindrome yang menerima array bilangan bulat arr (nilai-nilai dari doubly linked list) dan mengembalikan true jika urutannya sama saat dibaca dari depan maupun belakang, dan false jika tidak.

Gunakan doubly linked list untuk menyelesaikan masalah ini! Gerakkan satu pointer dari head ke depan dan pointer lainnya dari tail ke belakang hingga keduanya bertemu di tengah.

Kamu harus menggunakan class DoublyLinkedList (disediakan dalam doublylinkedlist.<ext> bersama node.<ext>). Jangan gunakan fitur bawaan bahasa seperti reverse pada array, slicing, sort, atau operasi list dari stdlib untuk menghitung hasilnya.

Coba sendiri

#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;
}

Semua pelajaran di Daftar Berantai Ganda, Seri Struktur Data #6

Latihan sendiri: Compiler C online