原创 Linux系統內核筆記

一、課程介紹 UNIX/Linux環境C語言,藉助學習操作系統的接口的方法來學習、理解操作系統的 運行機制以及一些網絡協議 C/C++、數據結構和算法 與平臺無關,重點是算法邏輯 Uinx/Linux/Android/IOS 平臺

原创 Linux鏈接腳本

參考博客:http://blog.chinaunix.net/uid-25374603-id-3400991.html

原创 Linux系統——rm命令的代碼實現

實現Linux系統下rm -rf xxx刪除非空目錄的功能 #include <stdio.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> #i

原创 Linux系統命令ls -l的代碼實現

Linux系統下,對ls -l命令的代碼實現 就剩文件的顏色沒弄好,基本的功能已經實現了 #include <stdio.h> #include <sys/stat.h> #include <sys/types.h> #inclu

原创 牛客網——劍指offer 數組中重複的數字

題目描述 在一個長度爲n的數組裏的所有數字都在0到n-1的範圍內。 數組中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出數組中任意一個重複的數字。 例如,如果輸入長度爲7的數組{2,3,1,0,2,

原创 牛客網——劍指offer 把字符串轉換成整數

題目描述 將一個字符串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字符串轉換整數的庫函數。 數值爲0或者字符串不是一個合法的數值則返回0。 輸入描

原创 牛客網——劍指offer 最小的K個數

``問題:輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 冒泡排序k次,得到最小的k個數 vector<int> GetLeastNumbers_Solu

原创 牛客網——劍指offer 連續子數組的最大和

問題:HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了:在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全爲正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,

原创 牛客網——劍指offer 順時針打印矩陣

題目描述 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,3,4,8,12,1

原创 牛客網——劍指offer 棧的壓入、彈出序列

題目描述 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能爲該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4

原创 牛客網——劍指offer 樹的子結構

題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構) bool hehe(TreeNode* root1,TreeNode* root2) { if(root

原创 牛客網——劍指offer 從上往下打印二叉樹

題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 vector<int> PrintFromTopToBottom(TreeNode* root) { queue<TreeNode*> que;

原创 牛客網——劍指offer 把數組排成最小的數

題目描述 輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字爲321323。 string PrintMinNumber

原创 牛客網——劍指offer 複雜鏈表的複製

題目描述 輸入一個複雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針指向任意一個節點),返回結果爲複製後複雜鏈表的head。(注意,輸出結果中請不要返回參數中的節點引用,否則判題程序會直接返回空) Ra

原创 牛客網——劍指offer 二叉樹中和爲某一值的路徑

題目描述 輸入一顆二叉樹的根節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點 所經過的結點形成一條路徑。(注意: 在返回值的list中,數組長度大的數組靠前) vector<