Rumah > Java > javaTutorial > Leetcode — Temuduga Teratas –. Palindrom yang sah

Leetcode — Temuduga Teratas –. Palindrom yang sah

DDD
Lepaskan: 2024-11-14 13:00:02
asal
514 orang telah melayarinya

Leetcode — Top Interview –. Valid Palindrome

Ia adalah masalah mudah dengan perihalan menjadi:

Frasa ialah palindrom jika, selepas menukar semua huruf besar kepada huruf kecil dan mengalih keluar semua aksara bukan abjad angka, ia membaca ke hadapan dan ke belakang yang sama. Aksara abjad angka termasuk huruf dan nombor.

Diberi rentetan s, kembalikan benar jika ia adalah palindrom, atau palsu sebaliknya.

Contoh 1:

Input: s = "Seorang lelaki, pelan, terusan: Panama"
Output: benar
Penjelasan: "amanaplanacanalpanama" ialah palindrom.

Contoh 2:

Input: s = "lumba kereta"
Output: palsu
Penjelasan: "raceacar" bukan palindrom.

Contoh 3:

Input: s = " "
Output: benar
Penjelasan: s ialah rentetan kosong "" selepas mengalih keluar aksara bukan abjad angka.
Memandangkan rentetan kosong membaca ke hadapan dan ke belakang yang sama, ia adalah palindrom.

Kekangan:

1 <= s.panjang <= 2 * 105

s hanya terdiri daripada aksara ASCII yang boleh dicetak.

Mengikut apa itu palindrom, anda pada asasnya mengalih keluar semua bukan alfa kemudian memanggil untuk menurunkan kaedah kes dan membuat kembali untuk membandingkan.

Menggunakan kaedah dan sedikit reg exp anda boleh menyelesaikannya dalam 3 baris:

class Solution {
    public boolean isPalindrome(String s) {
        final String reduced = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
        final String inverted = new StringBuilder(reduced).reverse().toString();
        return reduced.equals(inverted);
    }
}
Salin selepas log masuk

Masa Jalan: 15 ms, lebih cepat daripada 22.51% penyerahan dalam talian Java untuk Palindrom Sah.

Penggunaan Memori: 44.8 MB, kurang daripada 34.15% penyerahan dalam talian Java untuk Palindrom Sah.

Itu sepatutnya cukup sebagai soalan mudah dan mudah, tetapi untuk mendapatkan prestasi yang lebih baik, anda boleh mengulangi dan menyemak setiap aksara dan mengalih keluar serta menyesuaikan seperti yang diperlukan, untuk kes ini, saksham checkout menjawab pada leetcode (jika anda ingin saya terangkan secara terperinci , sila komen di bawah).

Itu sahaja! Jika ada perkara lain untuk dibincangkan, sila tinggalkan ulasan, jika saya terlepas apa-apa beritahu saya supaya saya boleh mengemas kini dengan sewajarnya.

Sehingga post seterusnya! :)

Atas ialah kandungan terperinci Leetcode — Temuduga Teratas –. Palindrom yang sah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan