原创 Python編程題45--移除鏈表元素

題目 給定一個鏈表的頭節點 head 和一個整數 val ,請刪除鏈表中所有滿足 Node.val == val 的節點,並返回 新的頭節點 。 例如: 原鏈表轉換爲列表:[1, 2, 6, 3, 4, 5, 6],要刪除的鏈表元素 va

原创 Python編程題44--反轉鏈表

題目 給定一個單鏈表的頭節點 head ,請實現反轉鏈表,並返回反轉後的鏈表。 例如: 原鏈表轉換爲列表:[1, 2, 3, 4, 5] 最終的鏈表轉換爲列表:[5, 4, 3, 2, 1] 原鏈表轉換爲列表:[1, 2] 最終的鏈表轉換

原创 Python編程題43--三數之和

題目 給定一個包含 n 個整數的列表 nums,請判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有和爲 0 且不重複的三元組。 注意:答案中不可以包含重複的三元組。 例如: 給定一個列表:

原创 Python編程題40--驗證字母表的順序

題目 給定一個含有多個字符串的列表 words,以及自定義字母表的順序 order,只有當列表中的所有字符串均按order中的字典序排列時,返回 true;否則,返回 false。 例如: 給定一個列表words:["hello", "l

原创 Python編程題39--所有奇數長度子列表的和

題目 給定一個非空的正整數列表 arr ,請計算所有可能的奇數長度子列表的和(子列表指原列表中的一個連續子序列)。 例如: 給定一個列表:[1, 4, 2, 5, 3],返回結果:58 解釋:所有奇數長度子列表及它們的和爲: [1] =

原创 Python編程題42--除自身以外元素的乘積

題目 給定一個長度爲 n 的整數列表 nums,其中 n > 1,返回輸出列表 res ,其中 res[i] 等於 nums 中除 nums[i] 之外其餘各元素的乘積。 例如: 給定一個列表:[1, 2, 3, 4],返回結果:[24,

原创 Python編程題41--原地反轉字符串

題目 針對一個字符串,該字符串是以字符列表的形式存在,請編寫一個函數,實現將字符串反轉過來。 例如: 給定一個字符列表:["h", "e", "l", "l", "o"],返回結果:["o", "l", "l", "e", "h"] 給定

原创 Python編程題37--漢明距離

題目 兩個整數之間的 漢明距離 指的是這兩個數字對應二進制位不同的位置的數目。 給定兩個整數 x 和 y,計算並返回它們之間的漢明距離。 例如: 給定兩個整數:x = 1, y = 4,返回結果:2 解釋: 1 = (0 0 0 1)

原创 Python編程題36--三個數的最大乘積

題目 給定一個整數列表 nums ,且 nums 中至少含有3個整數,請在列表中找出由三個數組成的最大乘積,並輸出這個乘積。 例如: 給定一個列表:[1, 2, 3],返回結果:6 給定一個列表:[1, 2, -3, -3, 0],返回結

原创 Python編程題34--用隊列實現棧

題目 棧和隊列是常見的數據結構,隊列的特點是 先進先出,而棧的特點是 先進後出。 請使用 隊列 模擬實現棧的下列操作: push(x) -- 將元素 x 壓入棧頂 pop() -- 移除並返回棧頂元素 top() -- 獲取棧頂元素 em

原创 Python編程題35--刪除字符串中的所有相鄰重複項

題目 給定僅由小寫字母組成的非空字符串,存在一個重複項刪除操作,其會選擇兩個相鄰且相同的字母,並刪除它們。 請在字符串上反覆執行重複項刪除操作,直到無法繼續刪除,並在完成所有重複項刪除操作後返回最終的新字符串。 例如: 給定一個字符串:a

原创 Python編程題33--用棧實現隊列

題目 棧和隊列是常見的數據結構,棧的特點是 先進後出,而隊列的特點是 先進先出。 請使用 棧 模擬實現隊列的下列操作: push(x) -- 將元素 x 推到隊列的末尾 pop() -- 從隊列的開頭移除並返回元素 peek() -- 返

原创 Python編程題32--最小棧

題目 棧是一種常見的數據結構,其特點是 先進後出,也就是說最先放進去的元素,需要到最後才能取出來。 請使用 列表list 實現一個能在 常數時間 內檢索到最小元素的棧,需實現以下操作: push(x) -- 將元素 x 壓入棧頂 pop(

原创 Python編程題30--用列表實現棧

題目 棧是一種常見的數據結構,其特點是 先進後出,也就是說最先放進去的元素,需要到最後才能取出來。 請使用 列表list 模擬實現棧的下列操作: push(x) -- 將元素 x 壓入棧頂 pop() -- 移除棧頂元素 top() --

原创 Python編程題31--用列表實現隊列

題目 隊列是一種常見的數據結構,其特點是 先進先出,並且只能從隊尾進隊頭出,也就是說最先放進去的元素,能夠最先取出來。 請使用 列表list 模擬實現隊列的下列操作: push(x) -- 將元素 x 推到隊列的末尾 pop() -- 從