Pembalikan String dan Palindrom: Panduan Lengkap Pembalikan Teks

Pembalikan string secara konseptual sederhana (karakter terakhir terlebih dahulu) tetapi memiliki kasus tepi Unicode dengan emoji dan karakter multi-byte. Pembalikan yang tepat menghormati kelompok grafem, bukan titik kode individual.

Text string being reversed character by character with palindrome detection example

Pembalikan Karakter vs. Pembalikan Kata

Tiga mode membalik teks yang membandingkan pembalikan karakter, pembalikan kata, dan pembalikan urutan baris

Arsitektur algoritme pembalikan string dua penunjuk di tempat

Pembalikan karakter: Setiap karakter dalam string ditempatkan dalam urutan terbalik.

Masukan: "Halo, Dunia!"
Keluaran: "!dlroW ,olleH"

Pembalikan kata: Urutan kata dibalik, namun setiap kata tetap utuh.

Input: "Rubah coklat yang cepat"
Keluaran: "fox brown quick The"

Pembalikan baris: Berguna untuk membalik urutan daftar multi-baris:

Masukan: "Pertama
Kedua
Ketiga"
Keluaran : “Ketiga
Kedua
Pertama"

Palindrom: Menguji Simetri

Pipa validasi Palindrome menampilkan normalisasi string, pembalikan, dan uji kesetaraan

Palindrom membaca maju dan mundur sama. Kategori:

Palindrom karakter: mobil balap, level, radar, referensi

Frasa palindrom (mengabaikan spasi/tanda baca):

  • "Seseorang merencanakan kanal Panama"
  • "Apakah itu mobil atau kucing yang saya lihat"
  • "Tidak pernah ganjil atau genap"

Nomor palindrom: 121, 1331, 12321

Untuk memeriksa apakah suatu string adalah palindrom:

  1. Ubah ke huruf kecil
  2. Hapus semua karakter non-alfanumerik
  3. Bandingkan string dengan kebalikannya
  4. Jika identik → palindrome

Kasus Unicode Edge dalam Pembalikan String

Perangkap pembalikan string cluster unicode dan grafem dengan emoji dan kombinasi aksen

Teks modern mencakup karakter yang menempati beberapa unit kode:

Pasangan pengganti (emoji): Emoji 👋 disimpan sebagai dua unit kode UTF-16. Membalikkan karakter demi karakter secara naif dapat memisahkan pasangan ini, sehingga menghasilkan keluaran yang kacau.

Menggabungkan karakter: Huruf beraksen seperti "é" dapat disimpan sebagai satu titik kode (U+00E9) atau sebagai "e" + menggabungkan aksen lancip (U+0065 + U+0301). Membalikkan huruf terakhir secara salah akan menempatkan aksen sebelum e.

Solusi yang tepat: Membalikkan menggunakan batas cluster grafem Unicode. Pembalik Teks ToolDolfen menggunakan Intl.Segmenter API (bila tersedia) untuk mengelompokkan teks dengan benar sebelum membalik, menangani emoji, dan menggabungkan karakter dengan aman.

Membalikkan Teks di ToolDolfen

ToolDolfen pembalik teks dalam browser alur kerja eksekusi sisi klien

  1. Buka Pembalik Teks (Text Reverser).
  2. Tempel teks Anda — menangani Unicode, emoji, dan teks multi-bahasa dengan benar.
  3. Pilih mode pembalikan Anda: pembalikan karakter, kata, atau baris.
  4. Salin hasilnya.

Penggunaan praktis:

  • Membuat teks untuk pengujian tanda air
  • Membuat teks gambar cermin untuk desain grafis
  • Memeriksa apakah sebuah kata atau frasa merupakan palindrom
  • Membalikkan nilai yang dipisahkan koma sebelum penyisipan array

Pertanyaan yang Sering Diajukan

Temukan jawaban cepat dan terverifikasi untuk pertanyaan umum tentang alur kerja ini.

Apa perbedaan antara membalikkan karakter dan membalikkan kata?

Pembalikan karakter: 'Halo Dunia' → 'dlroW olleH'. Pembalikan kata: 'Halo Dunia' → 'Halo Dunia'. Pembalikan karakter adalah 'pembalikan teks' standar. Pembalikan kata mempertahankan kata-kata individual tetapi menyusun ulang kata-kata itu.

Apakah 'Seorang pria adalah rencana sebuah kanal Panama' adalah sebuah palindrom?

Ya — ketika spasi dan tanda baca diabaikan dan huruf besar/kecil dinormalisasi: AMANAPLANACANALPANAMA membaca maju dan mundur dengan cara yang sama.

Mengapa emoji terlihat rusak di beberapa alat pembalikan teks?

Emoji diwakili oleh beberapa titik kode Unicode dalam banyak kasus. Pembalikan karakter sederhana yang memproses byte individual atau unit kode (bukan cluster grafem) akan memecah emoji menjadi karakter yang kacau. Pembalikan yang tepat menggunakan batas cluster grafem Unicode.

Bilal Ahmad