原创 刷題--程序員面試金典--面試題 04.10. 檢查子樹(重點)(go)

面試題 04.10. 檢查子樹 檢查子樹。你有兩棵非常大的二叉樹:T1,有幾萬個節點;T2,有幾萬個節點。設計一個算法,判斷 T2 是否爲 T1 的子樹。 如果 T1 有這麼一個節點 n,其子樹與 T2 一模一樣,則 T2 爲 T1 的子

原创 刷題--程序員面試金典--面試題 04.09. 二叉搜索樹序列(重點)(go)

面試題 04.09. 二叉搜索樹序列 從左向右遍歷一個數組,通過不斷將其中的元素插入樹中可以逐步地生成一棵二叉搜索樹。給定一個由不同節點組成的二叉樹,輸出所有可能生成此樹的數組。 示例: 給定如下二叉樹         2        

原创 刷題--程序員面試金典--面試題 04.03. 特定深度節點鏈表(go)

面試題 04.03. 特定深度節點鏈表 給定一棵二叉樹,設計一個算法,創建含有某一深度上所有節點的鏈表(比如,若一棵樹的深度爲 D,則會創建出 D 個鏈表)。返回一個包含所有深度的鏈表的數組。   示例: 輸入:[1,2,3,4,5,nu

原创 刷題--程序員面試金典--面試題 04.02. 最小高度樹(go)

面試題 04.02. 最小高度樹 給定一個有序整數數組,元素各不相同且按升序排列,編寫一個算法,創建一棵高度最小的二叉搜索樹。 示例: 給定有序數組: [-10,-3,0,5,9], 一個可能的答案是:[0,-3,9,-10,null,5

原创 刷題--程序員面試金典--面試題 04.05. 合法二叉搜索樹(go)

面試題 04.05. 合法二叉搜索樹 實現一個函數,檢查一棵二叉樹是否爲二叉搜索樹。 示例 1: 輸入:     2    / \   1   3 輸出: true 示例 2: 輸入:     5    / \   1   4     

原创 go筆記---完整切片表達式

一般切片表達式: numbers := [10]int{0,1,2,3,4,5,6,7,8,9} s := numbers[1:4] fmt.Println(s) // [1, 2, 3] fmt.Println(cap(s)) //

原创 go筆記-----go實現全排列的模板

 go實現全排列: 不可重複: package main import ( "fmt" "strings" ) func main() { res := make([]string, 0) c

原创 刷題--程序員面試金典--面試題 04.06. 後繼者(go)

面試題 04.06. 後繼者 設計一個算法,找出二叉搜索樹中指定節點的“下一個”節點(也即中序後繼)。 如果指定節點沒有對應的“下一個”節點,則返回null。 示例 1: 輸入: root = [2,1,3], p = 1   2  /

原创 micro-bastion---迷你HTTP代理--go開源

 項目地址: https://github.com/fractorysolutions/micro-bastion 歡迎大家給我提issue https://github.com/allenXu317/micro-bastion/tree

原创 刷題---樹篇---112. 路徑總和

112. 路徑總和 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22,      

原创 刷題---樹篇---113. 路徑總和 II

113. 路徑總和 II 給定一個二叉樹和一個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22,               5

原创 刷題--程序員面試金典--面試題 04.04. 檢查平衡性(go)

面試題 04.04. 檢查平衡性 實現一個函數,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下:任意一個節點,其兩棵子樹的高度差不超過 1。 示例 1: 給定二叉樹 [3,9,20,null,null,15,7]     3    

原创 刷題--程序員面試金典--面試題 04.08. 首個共同祖先(重點)(go)

面試題 04.08. 首個共同祖先 設計並實現一個算法,找出二叉樹中某兩個節點的第一個共同祖先。不得將其他的節點存儲在另外的數據結構中。注意:這不一定是二叉搜索樹。 例如,給定如下二叉樹: root = [3,5,1,6,2,0,8,nu

原创 go筆記------切片傳值

golang是不能傳引用的,所有的函數都是傳值。 遇到過坑,總結一下: 傳切片作爲形參: func main() { res := make([][]int, 0) t := make([]int, 0) TestCopy(&re

原创 刷題--程序員面試金典--面試題 02.07. 鏈表相交(重點)(go)

面試題 02.07. 鏈表相交 給定兩個(單向)鏈表,判定它們是否相交併返回交點。請注意相交的定義基於節點的引用,而不是基於節點的值。換句話說,如果一個鏈表的第k個節點與另一個鏈表的第j個節點是同一節點(引用完全相同),則這兩個鏈表相交。