近幾周一直在刷oj私股,沒(méi)有及時(shí)周更议街,后面要陸續(xù)貼出oj入門過(guò)程中學(xué)到的一些知識(shí)和技巧割捅。
A
這次列出來(lái)的題目是Palindrome Number奶躯,一個(gè)很老的題目。下面貼出來(lái)的代碼是用C++實(shí)現(xiàn)的亿驾,算法思想一目了然嘹黔,主要是逐個(gè)數(shù)位處理,用while循環(huán)實(shí)現(xiàn)莫瞬。
class Solution {
public:
bool isPalindrome(int x) {
if(x < 0) return false;
int revhalf = 0, slow = x, fast = x;
while(fast){
revhalf = revhalf * 10 + slow % 10;
slow /= 10;
fast /= 100;
}
return slow == revhalf || slow == revhalf / 10;
}
};
我還學(xué)習(xí)到一種用Python3寫的“黑科技”:
return False if x < 0 else x == int(str(x)[::-1])
這里的核心就是"[::-1]"
R
T
S
相關(guān)鏈接:
1.python中[-1]儡蔓、[:-1]、[::-1]疼邀、[n::-1]使用方法
2.有關(guān)[::-1]時(shí)間復(fù)雜度的問(wèn)題