原创 day11之求二叉樹的高度+銷燬一顆二叉樹+鏈表每K個節點之間逆序

求二叉樹的高度 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x)

原创 用shell腳本實現一個彩色的進度條

演示: 代碼如下: #!/bin/bash index=('|' '/' '-' '\\') #定義一個字符數組 bar='#' i=0 while [ $i -le 100 ] do let colour=30+i%8

原创 linux定時任務crontab命令和crond服務詳解

linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啓動的。另 外, 由於使用者自己也可以設置計劃任務,所以, Linux 系統也提供了使用

原创 day05刪除一個無頭單鏈表的非尾節點 +從尾到頭打印單鏈表+複雜鏈表的複製

1.刪除一個無頭單鏈表的非尾節點,時間複雜度爲O(1) struct ListNode { int val; ListNode *next; ListNode(int x):val(x),next(N

原创 day13之二叉樹的前中後序遍歷非遞歸+兩個鏈表求差集

二叉樹的前序遍歷非遞歸 void PreOrder(TreeNode *root) { if(root == NULL) return; stack<TreeNode*> s; s.p

原创 如何用shell腳本語言去截取字符串

shell中幾種常用截取字符串的方法 一. 概念 在shell中通過截取字符串操作可以提取到我們所需要的特定字符串 假設變量str=http://blog.csdn.net/hj605635529/article/det

原创 用shell腳本語言實現一個斐波那契數列的遞歸和非遞歸版本

代碼: #!/bin/bash -x #第一種寫法 #first=1 #second=1 #last=1 # #if [ $1 -le 2 ];then # echo 1 #fi # #i=3 #while [ $i -le $1

原创 day09之N的階乘N!末尾有多少個0 + 二叉樹的層序遍歷

給定一個整數N,那麼N的階乘N!末尾有多少個0呢?例如:N=10,N!=3 628 800,N!的末尾有兩個0 思路:看到這題我們直觀的思路就是先求出N!,再判斷N!末尾有多少個0,但是這有個問題,當N 很大的時候,會溢出,所

原创 day04之鏈表不帶環相交+帶環相交問題+fork函數輸出幾個短線

判斷兩個鏈表是否相交,若相交,求交點。(假設鏈表不帶環) struct ListNode { int val; ListNode *next; ListNode(int x):val(x),next(N

原创 day08之元素出棧、入棧順序的合法性+計算一個整數二進制位中1的個數

元素出棧、入棧順序的合法性 如:入棧的序列(1,2,3,4,5),出棧序列爲(4,5,3,2,1),則合法。入棧的序列(1,2,3,4,5),出棧序列爲(4,5,2,3,1),則不合法。 bool IsPopOrder(v

原创 day19之找出最喜歡喫的前k種水果(數組中次數出現最多的前k個數)

本公司現在要給公司員工發波福利,在員工工作時間會提供大量的水果供員工補充營養。由於水果種類比較多,但是卻又不知道哪種水果比較受歡迎,然後公司就讓每個員工報告了自己最愛喫的k種水果,並且告知已經將所有員工喜歡喫的水果存儲於一個數組中

原创 day10之求二叉樹葉子節點的個數+求二叉樹第k層的節點個數+數組中超過一半的數字

求二叉樹葉子節點的個數 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(in

原创 day12之判斷一棵二叉樹是否是平衡二叉樹+求一顆二叉樹的鏡像+判斷一個數在二維數組中是否存在

判斷一棵二叉樹是否是平衡二叉樹 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNod

原创 day02逆置/反轉單鏈表+查找單鏈表的倒數第k個節點+實現一個Add函數不用四則運算

逆置/反轉單鏈表,要求只能遍歷一次鏈表 struct Node { Node *next; int value; Node(int val):value(val),next(NULL){ } };

原创 C語言函數調用過程--棧幀

什麼是棧幀? 每一次函數調用都爲這次函數調用開闢一塊空間,這個空間就叫做棧幀。 首先應該明白,棧是從高地址向低地址延伸的。每個函數的每次調用,都有它自己獨立的一個棧幀,這個棧幀中維持着所需要的各種信息。寄存器ebp指向當前的