題目:
問題 b: 回文串
時間限制: 1 sec 記憶體限制: 128 mb
提交: 111 解決: 76
[提交] [狀態] [討論版]]
題目描述
輸入乙個字串,判斷這個字串是不是回文串,如果是,輸出 yes ,否則輸出 no 。
回文串是乙個正讀和反讀都一樣的字串。
比如 level 或者 noon 等等就是回文串,而 windows 不是。
輸入在一行中給出乙個字串 s 。
(1 <= |s| <= 10^6)
輸出如果該字串為回文串,輸出 yes ,否則輸出 no 。
樣例輸入
noon
樣例輸出
yes
#include
using
namespace std;
typedef
long
long ll;
void
solve()
intmain()
判斷回文串,判斷回文數,最長回文串,回文串的個數
判斷乙個字串是否是回文串,首先了解下它的定義 回文串 是乙個正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。所以判斷是否是回文串,判斷這個字串是否對稱即可。從而用兩個指標同時向中間掃瞄即可判斷。判斷字串是否是回文串,即判斷是否對稱。兩邊指標同時向中間掃瞄,判斷是否相等,不等...
判斷回文串
回文串 level abba 非回文串 hevel aabb 方法解析 1.首先得知道字元陣列的長度 要麼使用現成的計算字元陣列長度的函式,要麼自己寫乙個遍歷區數,都得花費o n 時間,暫時沒有能夠節省這部分時間的方法 2.然後就從中間的字元開始,往兩邊走,兩邊各取乙個元素比較,若不相等則跳出,得到...
回文串判斷
方法一 使用棧的性質。將字串的一半放入棧,再利用棧的先進後出的性質,來判斷另一半字串和棧中的元素是否相等。如下 解密回文 include include int main if len 2 0 else for i next i len 1 i top if top 0 else return 0 ...