JavaScript迴文串查詢函式
本題的目標是建立一個JavaScript函式來判斷給定的字串是否為迴文串。要解決這個問題,首先需要簡單地理解問題。
理解題意
輸入一個字串,我們的主要目標是檢查該字串是否為迴文串。如果是迴文串,則返回true;否則返回false。
什麼是迴文?
題目中用到了“迴文”這個詞!讓我們先理解這個詞的意思。迴文是指反轉後看起來相同的字串。例如,字串“MADAM”,反轉後仍然是“MADAM”,與輸入字串相同。這就是所謂的迴文。

問題的邏輯
我們將建立一個函式來完成這項任務。函式的輸入是一個字串。我們需要檢查該字串是否為迴文串。首先,我們將字串轉換為小寫,並刪除字串中的所有其他字元以獲得正確的輸出。然後,我們將使用JavaScript的reverse方法遍歷字串,並檢查該字串是否與輸入字串相同。如果這兩個字串相同,我們將返回true,否則返回false。此函式指示該字串是否為迴文串。
演算法
步驟1 - 宣告一個名為isPalindrome的函式,該函式使用字串引數。
步驟2 - 將給定的字串轉換為小寫以獲得所需的結果。並刪除字串中的多餘字元和空格。
步驟3 - 使用reverse函式反轉字串。
步驟4 - 檢查兩個字串是否相同。
步驟5 - 返回true或false結果。
演算法程式碼
function isPalindrome(str) {
// convert the string to lowercase and remove non-alphanumeric characters
str = str.toLowerCase().replace(/[^a-z0-9]/g, '');
// reverse the string and compare with the original
return str === str.split('').reverse().join('');
}
const str = "Level";
const str1 = "Hello Javascript";
const str2 = "Wow";
console.log(isPalindrome(str))
console.log(isPalindrome(str1))
//other way to show the output
const result = isPalindrome(str2);
if(result == true){
console.log(str2, "is palindrome");
} else {
console.log(str2, "is not Palindrome");
}
複雜度
該函式的時間複雜度為O(n),因為該方法對給定字串中的每個字元都使用常數時間。其中n是字串的長度。程式碼使用的空間複雜度為O(1),因為它以布林值的形式顯示結果。
結論
因此,上述建立的函式可用於查詢給定字串是否為迴文串,時間複雜度為O(n)。我們基本上使用了一些內建方法來解決這個問題。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP