原创 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"] 解釋: 所有根節點到葉子節點