演算法設計學習筆記 回文數與回文字串判斷

2021-06-23 06:44:08 字數 773 閱讀 2602

回文數:如:98789, 這個數字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數字就是回文數

#include using namespace std;

bool symmetry(long n)

return ( n == tmp );

}int main()

else

return 0;

}

回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的

//1. 字串長度可能會奇數或偶數:

// 如果字串長度是奇數,字串會剩下最中間那位字元,但其不影響回文。當檢查到長度為1的時候即代表此字串是回文

// 如果字串長度是偶數,當兩端的字串兩兩比較檢查後不會剩下字元。即檢查到長度為0的時候即代表此字串是回文

//2. 如果檢查到兩端兩個字元不相同。則說明此字串不是回文,直接返回0,不需要繼續檢查

int symmetry2(int low, int high, char *str, int length)

if ( str[low] != str[high])

return symmetry2( low + 1, high - 1, str, length - 2 );

}int main()

判斷回文數與回文字串

判斷乙個數是否為回文數。回文數 回文數也是乙個數字,數字的特點是正反序是同乙個數字,如 12321,3443 思路 給乙個數字,求出它的反序數字,與本身進行比較,相同即是回文數。int palindrome int num return ret int main 判斷乙個字串是否為回文字串。回文字串...

回文數與回文字串的判斷

1.回文數字 判斷乙個數字是不是回文數。回文數的特點是正反序是同乙個數字,如 12321,3443 2.回文字串 判斷乙個字串是不是回文字串。回文字串特點是原字串與字串逆序之後一樣,如 abcba cddc 將數字變為陣列儲存 char arr 10 也可將數字變為字串儲存 memset arr,1...

回文數 演算法優化筆記

示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左讀,為 01 因此它不是乙個回文數。你能不將整數轉為字串來解決這個問題嗎?初步分析 可以...