原创 劍指Offer(Python多種思路實現):撲克牌中的順子

劍指Offer(Python多種思路實現):撲克牌中的順子 面試61題: 題目:LL今天心情特別好,因爲他去買了一副撲克牌,發現裏面居然有2個大王,2個小王(一副牌原本是54張^_^)...他隨機從中抽出了5張牌,想測測自己的手氣,看看能

原创 劍指Offer(Python多種思路實現):把數字翻譯成字符串

面試46題: 題目:把數字翻譯成字符串 題:給定一個數字,我們按照如下規則把它翻譯爲字符串:0翻譯成“a”,1翻譯成“b”,……,11翻譯成“1”,……,25翻譯成“z”。一個數字可能有多個翻譯。例如:12258有5種不同的翻譯,分別是“

原创 劍指Offer(Python多種思路實現):兩個鏈表的第一個公共節點

劍指Offer(Python多種思路實現):兩個鏈表的第一個公共節點 面試52題: 題目:兩個鏈表的第一個公共節點 題:輸入兩個鏈表,找出它們的第一個公共節點。 解題思路一: class Solution: def FindFi

原创 劍指Offer(Python多種思路實現):最長不含重複字符的子字符串

劍指Offer(Python多種思路實現):最長不含重複字符的子字符串 面試48題: 題目:最長不含重複字符的子字符串 題:請從字符串中找出一個最長的不包含重複字符的子字符串,計算該最長字符串的長度。假設字符串中只包含‘a’-‘z’的字符

原创 劍指Offer(Python多種思路實現):第一個只出現一次的字符

面試50題: 題目:第一個只出現一次的字符 題:在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置。 解題思路一:利用Python特性 class Solution: de

原创 劍指Offer(Python多種思路實現):連續子數組的最大和

面試42題: 題目:連續子數組的最大和 題:輸入一個整形數組,數組裏有正數也有負數。數組中的一個或連續多個整數組成一個子數組。求所有子數組的和的最大值。要求時間複雜度爲O(n) 解題思路一:在數組裏從前向後遍歷,記錄下每次的“當前累加子數

原创 劍指Offer(Python多種思路實現):最小的k個數

面試40題: 題目:最小的k個數 題:輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 解題思路一: class Solution: def GetLea

原创 劍指Offer(Python多種思路實現):數據流中的中位數

劍指Offer(Python多種思路實現):數據流中的中位數 面試41題: 題目:數據流中的中位數 題:如何得到一個數據流中的中位數?如果從數據流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從數據流中讀出偶數個數值

原创 劍指Offer(Python多種思路實現):1~n整數中1出現的次數

劍指Offer(Python多種思路實現):1~n整數中1出現的次數 面試43題: 題目:1~n整數中1出現的次數 題:輸入一個整數n,求1~n這n個整數的十進制表示中1出現的次數。例如,輸入12,1~12這些整數中包含1的數字有1,10

原创 劍指Offer(Python多種思路實現):字符串的排列

劍指Offer(Python多種思路實現):字符串的排列 面試38題: 題:字符串的排列 題目:輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,

原创 劍指Offer(Python多種思路實現):樹的子結構

劍指Offer(Python多種思路實現):樹的子結構 面試26題: 題目:樹的子結構 題:輸入兩棵二叉樹A和B,判斷B是不是A的子結構。 解題思路一:遞歸,注意空指針的情況。 class Solution: def HasSu

原创 劍指Offer(Python多種思路實現):順時針打印矩陣(同LeetCode 螺旋矩陣打印)

面試29題: 題目:順時針打印矩陣(同LeetCode 螺旋矩陣打印) 題:輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1

原创 劍指Offer(Python多種思路實現):棧的壓入、彈出元素

劍指Offer(Python多種思路實現):棧的壓入、彈出元素 面試31題: 題目:棧的壓入、彈出元素 題:輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否爲該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,

原创 劍指Offer(Python多種思路實現):包含min函數的棧

劍指Offer(Python多種思路實現):包含min函數的棧 面試30題: 題目:包含min函數的棧 題:定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。在該棧中,調用min、push、pop的時間複雜度都是O(1

原创 劍指Offer(Python多種思路實現):從上到下打印二叉樹

面試32題: 題目:從上到下打印二叉樹 題:不分行從上到下打印二叉樹 解題思路: class Solution: def PrintFromTopToBottom(self, root): # write cod