whycomputer.com >> Jaringan komputer >  >> Perangkat Lunak

Periksa Apakah Sebuah String Palindrom di Java dan Python

Periksa Apakah Sebuah String Palindrom di Java dan Python

Selama bertahun‑tahun, memeriksa apakah sebuah string merupakan palindrom telah menjadi soal klasik dalam wawancara pemrograman. Hal ini karena soal tersebut melibatkan manipulasi string, perbandingan, dan terkadang loop, namun tidak memakan waktu lama sehingga cocok untuk proses seleksi. Artikel ini akan memaparkan dua implementasi populer: Java dan Python.

Definisi Palindrom

Menurut synonym.com, palindrom adalah “kata atau frasa yang dibaca sama dari depan maupun belakang”. Artinya, jika kata atau frasa tersebut dibalik, hasilnya tetap identik. Contoh: "dad" dan "mom" adalah palindrom, sedangkan "father" dan "mother" tidak. Kata "palindrome" berasal dari bahasa Yunani palin (lagi) dan dromos (cara). Konsep ini pertama kali diperkenalkan oleh penyair Inggris Ben Jonson pada abad ke-17.

Penyelesaian

  • Metode paling sederhana adalah membalik string terlebih dahulu, lalu membandingkannya dengan string asli. Operasi pembalikan memakan waktu O(n), sehingga keseluruhan kompleksitas tetap O(n).
  • Alternatifnya, bandingkan karakter secara berpasangan mulai dari ujung depan dan belakang, hingga mencapai tengah. Walaupun secara matematis kompleksitasnya O(n/2), dalam notasi Big‑O tetap O(n). Keuntungan metode ini ialah kita dapat mengembalikan false segera setelah menemukan perbedaan pertama, sehingga seringkali lebih cepat.

Implementasi Palindrom di Python

Berikut contoh kode sederhana untuk memeriksa palindrom di Python:

def is_palindrome(s: str) -> bool:
    """Return True jika s merupakan palindrom."""
    # Metode 1: membalik string
    return s == s[::-1]

# Versi 2: perbandingan berpasangan

def is_palindrome_iterative(s: str) -> bool:
    left, right = 0, len(s) - 1
    while left < right:
        if s[left] != s[right]:
            return False
        left += 1
        right -= 1
    return True

# Contoh penggunaan
print(is_palindrome("madam"))          # True
print(is_palindrome("Hello"))          # False

Implementasi Palindrom di Java

Berikut contoh kode lengkap di Java:

public class PalindromeChecker {
    // Metode 1: menggunakan StringBuilder
    public static boolean isPalindrome(String s) {
        String reversed = new StringBuilder(s).reverse().toString();
        return s.equals(reversed);
    }

    // Metode 2: perbandingan berpasangan
    public static boolean isPalindromeIterative(String s) {
        int left = 0;
        int right = s.length() - 1;
        while (left < right) {
            if (s.charAt(left) != s.charAt(right)) {
                return false;
            }
            left++;
            right--;
        }
        return true;
    }

    public static void main(String[] args) {
        System.out.println(isPalindrome("racecar"));          // true
        System.out.println(isPalindromeIterative("world"));  // false
    }
}

Tip Penting

  • Pastikan untuk menanyakan kepada pewawancara apakah fungsi harus memperhatikan huruf besar/kecil. Misalnya, jika sensitif terhadap case, "Dad" tidak dianggap palindrom karena 'D' ≠ 'd'.
  • Jika tidak sensitif, normalisasi string terlebih dahulu (misalnya menggunakan toLowerCase() di Java atau .lower() di Python) sebelum memeriksa.
  • Perhatikan juga karakter non‑alfabetik (spasi, tanda baca) jika konteks soal mengharuskan diabaikan. Bisa diproses dengan regex atau filter karakter.

URL:https://komputer.whycomputer.com/Perangkat-lunak/101318763.html

Perangkat Lunak
  • Panduan Cepat Menyesuaikan Tanggal & Waktu PC Windows

    Mengecek & Menyetel Tanggal & Waktu di PC Anda Jika tanggal dan waktu pada PC Anda tidak tepat, semua file yang Anda buat akan mencatat tanggal yang salah. Berikut cara cepat dan mudah mengatur jam serta kalender secara manual di Windows. Langkah 1: Buka Pengaturan Waktu Di sisi kanan taskbar (pojok

  • Panduan Menggunakan Daftar Periksa di Quicken

    Menagih pengeluaran bisa jadi sulit. Banyak orang menggesek kartu kredit atau debit tanpa sadar, bahkan belum mencatatnya di buku cek atau memperbarui saldo. Quicken memudahkan proses ini dengan antarmuka yang cepat, sehingga Anda bisa mencatat pengeluaran dan kembali ke aktivitas lain di komputer.

  • Cara Memeriksa dan Mengatur Spasi Antar Kalimat di Microsoft Word

    Cara Memeriksa dan Mengatur Spasi Antar Kalimat di Microsoft Word Secara default, pemeriksaan ejaan dan tata bahasa di Microsoft Word 2010 dan 2013 tidak memeriksa spasi antar kalimat, sehingga Anda dapat menggunakan satu atau dua spasi setelah titik tanpa muncul peringatan. Untuk menjaga konsistens

Jaringan komputer © https://komputer.whycomputer.com