Memperbaiki Kod untuk Pemeriksaan Palindrom
Untuk menyemak sama ada rentetan ialah palindrom, anda telah membangunkan kaedah yang membandingkan aksara dari kedua-dua hujung ke arah tengah. Walau bagaimanapun, terdapat ruang untuk pengoptimuman.
Pendekatan Dioptimumkan:
Kod berikut menawarkan penyelesaian yang lebih mudah dan cekap:
public static boolean istPalindrom(char[] word) { int i1 = 0; int i2 = word.length - 1; while (i2 > i1) { if (word[i1] != word[i2]) { return false; } ++i1; --i2; } return true; }
Penjelasan:
Kod ini menggunakan dua penunjuk, i1 dan i2, dimulakan pada permulaan dan akhir perkataan, masing-masing. Ia berulang ke dalam sehingga i2 melintasi i1.
Apabila penunjuk bersilang, keseluruhan perkataan telah berjaya dibandingkan, dan kaedah itu kembali benar.
Contoh:
Untuk perkataan "andna":
Lelaran gelung:
Kaedah itu kembali benar, mengesahkan "andna" itu ialah palindrom.
Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mengoptimumkan Pemeriksaan Rentetan Palindrom?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!