原创 劍指Offer(Python多種思路實現):二叉樹中和爲某一值的路徑

劍指Offer(Python多種思路實現):二叉樹中和爲某一值的路徑 面試34題: 題目:二叉樹中和爲某一值的路徑 題:輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經

原创 劍指Offer(Python多種思路實現):數值的整數次方

劍指Offer(Python多種思路實現):數值的整數次方 面試16題: 題目:數值的整數次方 題:實現函數double Power(double base, int exponent),求base的exponent次方、不得使用庫函數,

原创 劍指Offer(Python多種思路實現):刪除鏈表中的節點

劍指Offer(Python多種思路實現):刪除鏈表中的節點 面試18題: 題目:刪除鏈表中的節點 題一:在O(1)時間內刪除鏈表節點。給定單向鏈表的頭指針和一個節點指針,定義一個函數在O(1)時間內刪除該節點。 解題思路一:先把i的下一

原创 劍指Offer(Python多種思路實現):環的入口節點

劍指Offer(Python多種思路實現):環的入口節點 面試23題: 題目:如果一個鏈表中包含環,如何找出環的入口節點? 解題分析:其實此題可以分解爲三個題目:1)如何判斷一個鏈表中是否包含環?2)如何找到環的入口節點?3)如何得到環中

原创 劍指Offer(Python多種思路實現):調整數組的順序使奇數位於偶數前面

劍指Offer(Python多種思路實現):調整數組的順序使奇數位於偶數前面 面試21題: 題目:調整數組的順序使奇數位於偶數前面 題一:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於

原创 劍指Offer(Python多種思路實現):合併兩個排序的鏈表

面試25題: 題目:合併兩個排序的鏈表 題:輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。 解題思路一:遞歸,並需注意對空鏈表單獨處理。 class Solution: # 返回合併

原创 劍指Offer(Python多種思路實現):正則表達式匹配

劍指Offer(Python多種思路實現):正則表達式匹配 面試19題: 題目:正則表達式匹配 題:請實現一個函數用來匹配包括'.'和'*'的正則表達式。模式中的字符'.'表示任意一個字符,而'*'表示它前面的字符可以出現任意次(包含0次

原创 劍指Offer(Python多種思路實現):打印從1到最大的n位數

劍指Offer(Python多種思路實現):打印從1到最大的n位數 面試17題: 題目:打印從1到最大的n位數 題:輸入數字n,按順序打印出從1到最大的n位十進制數,比如輸入3,則打印出1、2、3一直到最大的3位數999. 解題思路一:可

原创 劍指Offer(Python多種思路實現):反轉鏈表

面試24題: 題目:反轉鏈表 題:輸入一個鏈表,反轉鏈表並輸出反轉後鏈表的頭節點。 解題思路一:注意反轉時出現斷裂現象,定義3個指針,分別指向當前遍歷到的節點pNode、它的前一個節點pPrev及後一個節點pNext。 class So

原创 劍指Offer(Python多種思路實現):機器人的運動範圍

劍指Offer(Python多種思路實現):機器人的運動範圍 面試13題: 題目:機器人的運動範圍 題:地上有一個m行和n列的方格。一個機器人從座標0,0的格子開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座

原创 劍指Offer(Python多種思路實現):用兩個棧實現隊列

劍指Offer(Python多種思路實現):用兩個棧實現隊列 面試9題: 題目:用兩個棧實現隊列 題目描述:用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 解題思路一: class Solution

原创 劍指Offer(Python多種思路實現):斐波那契數列

劍指Offer(Python多種思路實現):斐波那契數列 面試10題: 題目:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。n<=39  n=0時,f(n)=0 n=1時,f(n)=1 n>1時,f(n)=

原创 劍指Offer(Python多種思路實現):旋轉數組的最小數字

劍指Offer(Python多種思路實現):旋轉數組的最小數字 題目: 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1

原创 劍指Offer(Python多種思路實現):矩陣中的路徑

劍指Offer(Python多種思路實現):矩陣中的路徑 面試12題: 題目:矩陣中的路徑 題:請設計一個函數,用來判斷在一個矩陣中是否存在一條包含某字符串所有字符的路徑。路徑可以從矩陣中的任意一個格子開始,每一步可以在矩陣中向左,向右,

原创 劍指Offer(Python多種思路實現):剪繩子

劍指Offer(Python多種思路實現):剪繩子 面試14題: 題目:剪繩子 題:給你一根長度爲n的繩子,請把繩子剪成m段(m,n都是整數,且n>1,m>1),每段繩子的長度記爲k[0],k[1],k[2],...,k[m]。請問k[0