判斷乙個字串是否是回文串,首先了解下它的定義「回文串」是乙個正讀和反讀都一樣的字串,比如「level」或者「noon」等等就是回文串。
所以判斷是否是回文串,判斷這個字串是否對稱即可。從而用兩個指標同時向中間掃瞄即可判斷。
/**
* 判斷字串是否是回文串,即判斷是否對稱。 兩邊指標同時向中間掃瞄,判斷是否相等,不等則證明不是回文串,返回false
* 否則相遇退出,就是回文,返回true
* * @param s
* @return
*/public static boolean ispalindrome(string s)
low++;
high--;
} return true;
}
判斷乙個數字是否是回文數
首先可以想到的演算法是,把數字轉化成字串,然後使用上邊的演算法進行判斷。如果不允許轉化為字串。
分析下,回文數其實就是把當前數字顛倒,然後還是與這個數字相等的數字。
/**
* 判斷回文數,這裡不考慮負數,即顛倒當前數字,判斷兩個數字是否相等,相等即是回文數
* * @param num
* @return
*/public static boolean ispalindromenumber( int num)
if (num ==newnum ) else
}
待續。。
判斷回文數與回文字串
判斷乙個數是否為回文數。回文數 回文數也是乙個數字,數字的特點是正反序是同乙個數字,如 12321,3443 思路 給乙個數字,求出它的反序數字,與本身進行比較,相同即是回文數。int palindrome int num return ret int main 判斷乙個字串是否為回文字串。回文字串...
判斷回文串
回文串 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 ...