每日一道演算法題之LeetCode9

2022-06-29 16:45:11 字數 975 閱讀 4482

leetcode9 回文數

題目:解題思路如下:

# 判斷乙個整數是否是回文數。

# 回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

# 1先判斷,若為負,返回false;

# 2把數字轉換為列表,進行翻轉;翻轉後的列表再轉換回數字;

# 3然後判斷轉換前後的2個數字是否相等。

1

class

solution:

2def ispalindrome(self, x: int) ->bool:

3if x <0:

4return

false

5 xnew =list(str(x))

6xnew.reverse()

7 xnew = int(''

.join(xnew))

return x == xnew

8         #if x ==xnew:

9 # return

true

10 #else

:11 # return false

#看了一道別人的題解,寫的挺好的,記錄一下。

# 1先轉換為字串,計算其長度

# 2取長度的一半,判斷字串左右兩邊是否相等。

# 注:左--從左往右,右--從右往左

1

class

solution:

2def ispalindrome(self, x: int) ->bool:

3 s =str(x)

4 n =len(s)

5 h = n // 2

6return s[0:h] == s[-1:-h-1:-1]

注:關於字串的索引,正索引和負索引不一樣。

每日一道演算法題

no.1 設指標變數fron t表示鏈式佇列的隊頭指標,指標變數rear表示鏈式佇列的隊尾指標,指標變數s指向將要入佇列的結點x,則入佇列的操作序列為 a.front next s front s b.s next rear rear s crear next s rear s d.s next f...

每日一道演算法題

no.1 若有 18 個元素的有序表存放在一維陣列 a 19 中,第乙個元素放 a 1 中,現進行二分查詢,則查詢 a 3 的比較序列的下標依次為 a.1,2,3 b.9,5,2,3 c.9,5,3 d.9,4,2,3 答案 d.第一次查詢,隊首為下標1,隊尾下標18,所以是 1 18 2 9 第二...

每日一道演算法題 TwoSum

167.給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不可...