原创 new 和make的區別
make使用方法 var s[]int:nil切片。需要使用make分配空間。 s=make([]int,10) var s=[]int{} 空切片。不需要使用make分配空間。 var m map[int] int :nil map,需
原创 111.二叉樹的最小深度-c語言
給定一個二叉樹,找出其最小深度。 最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7], 3 / \ 9
原创 類型定義與類型別名
type Myint int //類型定義,相當於新定義了一個類型。 type Myint1 =int //類型別名 使用區別: type Myint int type Myint1 =int func main(){ var
原创 unsafe包的使用
1:求各類型的長度 1. var x string fmt.Println(unsafe.Sizeof(x)) //輸出16.因爲string的底層結構爲 type stringStruct struct { str unsaf
原创 defer關鍵字
什麼是 defer defer 是 Go 語言提供的一種用於註冊延遲調用的機制,每一次 defer 都會把函數壓入棧中,當前函數返回前再把延遲函數取出並執行。 1.defer 和panic 一起使用時執行順序? package main
原创 257. 二叉樹的所有路徑-C語言
給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根節點到葉子節點
原创 記一次項目的死鎖分析
1.場景 公司項目使用多線程開發,因此使用gdb exec -c corefile運行core文件後,使用bt打印堆棧信息 看不出問題,需要進入到線程內部分析。 2.分析 1. info threads 打印線程信息 可
原创 堆排序(大頂推)
原文鏈接:https://www.cnblogs.com/lanhaicode/p/10546257.html 堆排序 圖片和描述轉載於https://www.cnblogs.com/lanha
原创 tr 命令
1. tr 映射(tr "[a-z]" [A-Z]) echo abc|tr "[a-z]" "[A-Z]" #一對一映射大小寫轉換 #輸出 ABC 2. tr 壓縮(tr -s) cat words.txt |tr -s '
原创 151. 翻轉字符串裏的單詞-c
給定一個字符串,逐個翻轉字符串中的每個單詞。 示例 1: 輸入: "the sky is blue" 輸出: "blue is sky the" 示例 2: 輸入: " hello world! " 輸出: "world! hello
原创 109. 有序鏈表轉換二叉搜索樹-c
給定一個單鏈表,其中的元素按升序排序,將其轉換爲高度平衡的二叉搜索樹。 本題中,一個高度平衡二叉樹是指一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。 示例: 給定的有序鏈表: [-10, -3, 0, 5, 9], 一個可
原创 102. 二叉樹的層次遍歷-C語言
給定一個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回
原创 海量數據處理算法—Bit-Map
原文鏈接:https://blog.csdn.net/hguisu/article/details/7880288 1. Bit Map算法簡介 來自於《編程珠璣》。所謂的Bit-
原创 對 2 >&1的解釋
假設運行命令 xxxxxx.sh >output 2>&1 & 1.將標準輸出重定向到output 2 : 2 >&1 將標準錯誤重定向到標出輸出,因爲標準輸出已經重定向到標準輸出,因此也就是將標準錯誤重定向到標準輸出。 爲什麼需
原创 257. 二叉樹的所有路徑
給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根節點到葉子節點