Bagaimana untuk memeriksa palindrome di JavaScript?
Jul 12, 2025 am 01:33 AMTerdapat tiga cara untuk menentukan sama ada rentetan adalah palindrome: 1. Gunakan kaedah terbina dalam untuk membandingkan rentetan asal dengan rentetan terbalik melalui pemisahan, terbalik dan bergabung operasi; 2. Abaikan kes dan aksara bukan alfabetikal, bersihkan rentetan terlebih dahulu dan kemudian bandingkan; 3. Jangan gunakan kaedah terbina dalam, dan gunakan kaedah dua penunjuk untuk membandingkan aksara satu demi satu dari kedua-dua hujung ke tengah. Kaedah ini lebih cekap dan sesuai untuk senario wawancara.
Untuk menentukan sama ada rentetan adalah palindrome, inti adalah untuk membandingkan sama ada hasil rentetan dan pembalikan terbalik adalah sama. JavaScript menyediakan cara yang fleksibel untuk mencapai matlamat ini, dan yang berikut adalah beberapa cara yang biasa digunakan dan praktikal.

Penghakiman cepat menggunakan kaedah terbina dalam
Cara yang paling mudah dan langsung ialah menggunakan Operasi Kombinasi String dan Array JavaScript: Operasi:
fungsi isPalindrome (str) { const reversed = str.split (''). sebaliknya (). gabungan (''); kembali str === terbalik; }
-
split('')
menukarkan rentetan ke dalam array aksara; -
reverse()
membalikkan array; -
join('')
resubt array ke dalam rentetan.
Kaedah ini sesuai untuk senario yang paling asas, seperti memeriksa sama ada "madam"
atau "racecar"
adalah palindrome.

Abaikan kes dan watak bukan alfabetikal
Dalam amalan, input pengguna mungkin mengandungi ruang, tanda baca, atau kes campuran, seperti "A man, a plan, a canal: Panama"
. Pada masa ini, anda perlu membersihkan rentetan terlebih dahulu dan kemudian membuat perbandingan:
fungsi isPalindrome (str) { const dibersihkan = str.replace (/[^a-z0-9]/gi, '') .tolowerCase (); const reversed = dibersihkan.split (''). sebaliknya (). gabungan (''); kembali dibersihkan === terbalik; }
Digunakan di sini:

-
replace(/[^a-z0-9]/gi, '')
menghilangkan aksara bukan alphanumerik; -
toLowerCase()
akan dibandingkan dengan kes itu.
Ini membolehkan pengenalpastian kandungan palindromik yang lebih tepat dalam input pengguna.
Pelaksanaan manual tanpa menggunakan kaedah terbina dalam (sesuai untuk wawancara)
Jika anda diminta untuk tidak menggunakan kaedah split
, reverse
dan lain-lain semasa wawancara, anda boleh menggunakan kaedah dua penunjuk untuk membandingkan watak dari kedua-dua hujung ke tengah:
fungsi isPalindrome (str) { biarkan kiri = 0; biarkan betul = str.length - 1; sementara (kiri <kanan) { jika (str [kiri]! == str [kanan]) { kembali palsu; } kiri; betul--; } kembali benar; }
Kaedah ini adalah cekap, dengan kerumitan masa o (n) dan kerumitan ruang o (1), dan sesuai untuk memproses rentetan panjang atau dalam senario sensitif prestasi.
Pada dasarnya ini adalah kaedah. Anda boleh memilih versi ringkas mengikut keperluan khusus anda, atau membuat pelarasan yang sesuai dengan senario dengan format input yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk memeriksa palindrome di JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam tutorial ini, kita perlu menyelesaikan pertanyaan subrentetan palindrom untuk rentetan tertentu. Menyelesaikan pertanyaan subrentetan palindrom adalah lebih kompleks daripada menyelesaikan pertanyaan biasa dalam C++. Ia memerlukan kod dan logik yang lebih kompleks. Dalam tutorial ini, kami telah menyediakan pertanyaan string str dan Q substring [L...R], setiap satunya mempunyai dua nilai L dan R. Matlamat kami adalah untuk menulis atur cara yang menyelesaikan pertanyaan untuk menentukan sama ada subrentetan[L...R] ialah palindrom. Kita perlu menentukan sama ada subrentetan yang terbentuk dalam julat L hingga R adalah palindrom untuk menyelesaikan setiap pertanyaan. Contohnya-Mari masukkan"abbbabaaaba"asourinputstring.Thequer

Palindrom ialah rentetan yang sama dengan kebalikannya. Diberi rentetan, kita perlu mencari bilangan minimum aksara sewenang-wenang yang disisipkan yang diperlukan untuk menjadikan rentetan itu sebagai palindrom. Kami akan melihat tiga pendekatan: pertama pendekatan rekursif, kemudian kami akan menghafal penyelesaian ini, dan akhirnya, kami akan melaksanakan pendekatan pengaturcaraan dinamik. Contoh kaedah rekursif#include<stdio.h>//libraryforinputandoutput#include<limits.h>//librarytogettheintegerlimits#include<string.h>//libraryforstr

Kami diberi rentetan 'str' dari mana-mana panjang tertentu. Tugasnya adalah untuk menyusun semula aksara supaya output menjadi rentetan palindrom tanpa menambah atau mengalih keluar aksara daripada rentetan input yang diberikan. Rentetan palindrom ialah apabila aksara disusun sedemikian rupa sehingga bunyinya sama dari awal hingga akhir. Mari kita lihat pelbagai senario input dan output untuk ini - Input - String str="itnin" Output - Penyusunan semula aksara untuk membentuk rentetan palindrom jika boleh ialah: nitin Penjelasan - Kami diberi pembolehubah jenis rentetan , diandaikan sebagai str. Sekarang kita akan menyusun semula aksara rentetan input supaya ia menjadi

Palindrom ialah urutan perkataan, nombor, frasa atau aksara lain yang dibaca sama dari hadapan ke belakang seperti dari belakang ke hadapan. Perkataan seperti puan atau kereta lumba, atau nombor seperti 10801 ialah palindrom. Untuk rentetan yang diberikan, jika rentetan yang diperoleh selepas membalikkan rentetan adalah sama dengan rentetan asal, maka kita boleh mengatakan bahawa rentetan itu ialah palindrom. Ini bermakna untuk memeriksa sama ada rentetan ialah palindrom, kita perlu mengetahui sama ada unsur pertama dan terakhir, unsur kedua dan kedua terakhir, dan seterusnya adalah sama. Input - naman Output - rentetan ialah palindrom Input - tutorialspoint Output - aksara

Palindrom ialah jujukan aksara yang berbunyi sama dalam kedua-dua arah hadapan dan belakang. Dalam sains komputer dan pengaturcaraan, palindrom adalah tema biasa dalam masalah manipulasi rentetan. Dalam artikel ini, kita akan meneroka cara mencari subrentetan saiz minimum yang mesti dialih keluar daripada rentetan tertentu untuk menjadikannya palindrom. Kami akan menyediakan penyelesaian C++ yang tersusun dengan baik dan menyertakan contoh untuk menggambarkan kes ujian. Pernyataan Masalah Memandangkan rentetan 's' panjang 'n', kita perlu mencari saiz minimum subrentetan yang perlu dikeluarkan supaya rentetan yang tinggal menjadi palindrom. Algoritma mencipta fungsi yang dipanggil isPalindrome yang mengambil rentetan 's' sebagai parameter dan mengembalikan benar jika ia adalah palindrom, jika tidak ia mengembalikan palsu. Buat fail bernama minS

Pernyataan Masalah Kami diberi rentetan str, mengandungi N perkataan secara keseluruhan. Kita perlu mencari semua perkataan palindrom dalam rentetan tertentu dan mencipta rentetan baharu dengan membalikkan susunan semua perkataan palindrom. Contoh input str = 'nayanwasgonetonavjivaneyehospital' Output 'eyewasgonetonavjivannayanhospital' Penerangan Rentetan mengandungi tiga perkataan palindrom: nayan, navjivan dan eye. Kami membalikkan susunan ketiga-tiga perkataan dan mengekalkan semua perkataan lain sama. Masukkan 'Hello, pengguna!' dan keluarkan 'Hello, pengguna!

Nombor dianggap sebagai "nombor swafoto" jika ia boleh diwakili hanya menggunakan digitnya sendiri dan beberapa operasi matematik. Contohnya, 936 ialah nombor selfie. $$\mathrm{936\:=\:(\sqrt{9})!^{3}\:+\:6!\:=\:216\:+\:720\:=\:Bab 936 Di Sini anda boleh melihat bahawa satu siri operasi dilakukan pada digit nombor asal, dan hasilnya adalah sama dengan nombor asal. Nombor swafoto palindrom ialah sejenis nombor swafoto khas. Mereka memenuhi peraturan pendaraban swafoto. Pertimbangkan nombor x. Biarkan nombor selepas penyongsangan digital bagi x ialah $\mathrm{x^\prime}$. Biarkan y ialah nombor yang terdiri daripada digit x dalam susunan yang berbeza. Biarkan nombor selepas penyongsangan digital y ialah $

Dalam masalah ini, kita perlu mencari rentetan palindrom terakhir dalam tatasusunan. Jika mana-mana rentetan adalah sama apabila dibaca, sama ada ia dibaca dari awal atau dari akhir, dikatakan bahawa rentetan itu adalah palindrom. Kita boleh membandingkan aksara permulaan dan akhir untuk memeriksa sama ada rentetan tertentu ialah palindrom. Satu lagi cara untuk mencari rentetan palindrom ialah membalikkan rentetan dan membandingkannya dengan rentetan asal. Pernyataan Masalah - Kami diberi tatasusunan panjang N yang mengandungi rentetan yang berbeza. Kita perlu mencari rentetan palindrom terakhir dalam tatasusunan yang diberikan. Contoh input –arr[]={"werwr","rwe","nayan"
