題目大意
判斷乙個數字是否是回訪字數,不要使用額外的空間。
解題思路
先逆序然後判斷是否相等
為了不使用額外的空間,參考了其它的解決,那些解法看起來在ispalindrome方法中沒有使用額外引數,但是卻使用了方法呼叫,這個比乙個整數消耗的空間更多 ,並沒有達到題目的要求,是假的實現,所以本題依然採用乙個額外的空間進行實現。
首先,負數不是回文數字,其次對數字進行逆轉,123變成321這樣,如果變換後的數字相等說明是回文數字。
public class solution
// 數字逆轉後的值,為了不使用溢位採用long
long reverse = 0;
int tmp = x;
// 求逆轉後的值
while (tmp != 0)
// 判斷是否是回文數字
return x == reverse;}}
判斷乙個數字是否是回文
最近碰到乙個題目,其中一步判斷數字是否為回文 由於題目要求是最短時間實現,不要考慮實現本身的效率 1如果直接去實現,就是比較數字的最高位值和最低位,然後再。public boolean isp int x if x temp bit bit為數值位數 int temp1,temp2 for int ...
演算法與資料結構 判斷乙個數是否是3的乘方
題 不適用迭代或者遞迴,判斷乙個int型別的非負整數是否為3的乘方 解題思路 查表法,因為int型別的非負整數是有限的,將所有整數放入乙個set中。然後直接判斷輸入是否在set中即可 整除法,因為3是素數,首先int型別內3的最大乘方數,如果乙個int型別數是3的乘方,那麼該數必然能夠整除最大乘方 ...
乙個資料結構面書題
閱讀下面的 它的輸出結果是什麼?class node object def init self,sname self.lchildren self.sname sname def repr self return format self.sname def print all 1 self prin...