劍指offer Python3實現

2021-09-29 22:07:22 字數 3432 閱讀 1521

使用python3編寫《劍指offer》所有演算法,在參考牛客網,劍指offer書本以及其他前輩所寫的程式的同時,也加入了自己的解題思路,力爭用簡單的語言描述清楚。

所有的程式均已上傳到github,之後將持續整理更新,題目的順序與牛客網基本一致。

原始碼位址

試題 3:二維陣列中的查詢

試題 4:替換空格

試題 5:從尾到頭列印鍊錶

試題 6:重建二叉樹

試題 7: 用兩個棧實現佇列

試題 8: 旋轉陣列的最小數字

試題 9: 斐波那契數列

試題 10:跳台階

試題 11:**跳台階

試題 12:矩陣覆蓋

試題 13:二進位制中1的個數

試題 14:數值的整數次方

試題 15:調整陣列順序使奇數字於偶數前面

試題 16:鍊錶中倒數第k個結點

試題 17:反轉列表

試題 18:合併兩個排序的鍊錶

試題 19:樹的子結構

試題 20:二叉樹的映象

試題 21:順時針列印矩陣

試題 22:包含min函式的棧

試題 23:棧的壓入、彈出序列

試題 24:從上往下列印二叉樹

試題 25:二叉搜尋樹的後序遍歷序列

試題 26:二叉樹中和為某一值的路徑

試題 27:複雜鍊錶的複製

試題 28:二叉搜尋樹與雙向鍊錶

試題 29:字串的排列

試題 30: 陣列**現次數超過一半的數字

試題 31:最小的k個數

試題 32:連續子陣列的最大和

試題 33:整數中1出現的次數(從1到n整數中1出現的次數)

試題 34:把陣列排成最小的數

試題 35:醜數

試題 36:第乙個只出現一次的字元位置

試題 37:陣列中的逆序對

試題 38:兩鍊錶的第乙個公共結點

試題 39:數字在排序陣列**現的次數

試題 40:二叉樹的深度

試題 41 平衡二叉樹

試題 42 陣列中只出現一次的數字

試題 43 和為s的連續正數序列

試題 44 和為s的兩個數字

試題 45 左旋轉字串

試題 46 翻轉單詞順序序列

試題 47 撲克牌順子

試題 48 孩子們的遊戲(圓圈中最後剩下的數)

試題 49 求1+2+3+…+n

試題 50 不用加減乘除做加法

試題 51 把字串轉換成整數

試題 52 陣列中重複的數字

試題 53 構建乘積陣列

試題 54 正規表示式匹配

試題 55 表示數值的字串

試題 56 字元流中第一不重複的字元

試題 57 鍊錶中環的入口結點

試題 58 刪除鍊錶中重複的結點

試題 59 二叉樹的下乙個結點

試題 60 對稱的二叉樹

試題 61 按之字形順序列印二叉樹

試題 62 把二叉樹列印成多行

試題 63 序列化二叉樹

試題 64 二叉搜尋樹的第k個結點

試題 65 資料流中的中位數

試題 66 滑動視窗的最大值

試題 67 矩陣中路徑

試題 68 機械人的運動範圍

試題 69 剪繩子

從一名不羈的碼農開始,談風月之餘談技術

劍指offer Python3版 五

q 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。你要是這樣寫 class solution def reorderarray self,list1 evenlist,oddli...

劍指offer Python3版 九

q 請實現 copyrandomlist 函式,複製乙個複雜鍊錶。在複雜鍊錶中,每個節點除了有乙個 next 指標指向下乙個節點,還有乙個 random 指標指向鍊錶中的任意節點或者 null 思路 複製鍊錶 cur a b c cloned a b c 複製的鍊錶依次加到原煉表後 a a b b ...

劍指offer(Python)替換空格

這道題要求是 將乙個字串中的空格替換成 20 有多少個空格就替換成多少個 20 例如 hello world 中間有兩個空格,則需要輸出的形式是 hello 20 20world 字串首尾的空格亦算在內。class solution def replacespace self,s return 20...