原创 【劍指**】10.斐波那契數列

10.斐波那契數列 考察遞歸與循環的寫法。 思路1 遞歸 class Solution { public: int Fibonacci(int n) { int ret = help(n);

原创 【劍指**】18.2-刪除鏈表中的重複節點

18.2 刪除鏈表中的重複節點 題目描述 在一個排序的鏈表中,存在重複的結點,請刪除該鏈表中重複的結點,重複的結點不保留, 返回鏈表頭指針。 例如,鏈表1->2->3->3->4->4->5 處理後爲 1->2->5 思路分析

原创 【劍指**】遞歸附加題-變態跳臺階

遞歸附加題-變態跳臺階 題目描述 有一個n級的臺階,青蛙一次可以跳1次,也可以跳2次,…,也可以跳n次。問青蛙跳上一個n級的臺階,總共有多少種跳法。 題目分析 本題是斐波那契數列的升級版。按照這樣的思路去分析。 用Fib(n)

原创 【實用Python】logging用法

logging 用法 用例1 在調試與正式執行之間切換日誌輸出數量 有時調試時會打印很多信息,當自己覺得程序沒問題了。就要一個一個的去刪除這些print語句。 但是當我們可能後來又發現有些地方出現了問題,那是不是又要寫一遍prin

原创 【劍指**】20.表示數值的字符串

20.表示數值的字符串 題目描述 請實現一個函數用來判斷字符串是否表示數值(包括整數和小數)。例如,字符 串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但 是"12e","1a3.14"

原创 【劍指**】24.反轉鏈表

24.反轉鏈表 題目描述 反轉鏈表,返回反轉後鏈表的頭指針; 分析 情況要考慮周全; 輸入空指針; 只有1個節點; 保證反轉後的鏈表不斷開; 代碼 /* struct ListNode { int val; struc

原创 C++字符指針常用寫法

C++字符指針常用寫法 case 1 不指定數組大小,直接用字符賦值 char ch[] = {"abcdefg"}; cout<<ch<<endl; // 輸出 abcdefg cout<<strlen(ch)<<endl; // 輸

原创 【劍指**】38.字符串的排列

38.字符串的排列 題目描述 輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印 出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。 輸入描述 輸入一個字符串,長

原创 【劍指**】36 二叉搜索樹與雙向鏈表

36 二叉搜索樹與雙向鏈表 題目描述 輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的 結點,只能調整樹中結點指針的指向。 思路 需要注意, last 在函數裏,用的是 指針的指針。 如果不這樣做,會報錯;

原创 【劍指**】39 數組中出現次數超過一半的數字

數組中出現次數超過一半的數字 題目描述 數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入一個長度爲9 的數組{1,2,3,2,2,2,5,4,2}。由於數字2在數組中出現了5次,超過數組長度的一半,因 此輸出2。如果

原创 【劍指**】33.二叉搜索樹的後續遍歷

33.二叉搜索樹的後續遍歷 題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes, 否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 分析 本題的區別之處在於,不是讓你去後序遍歷BST,而是

原创 【劍指**】31.棧的壓入,彈出序列

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

原创 【劍指**】35.複雜鏈表的複製

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

原创 【劍指**】34 二叉樹中和爲某一值的路徑

34 二叉樹中和爲某一值的路徑 題目描述 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義 爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 思路分析 這個題目也是很經典的,但是我今天太困了,

原创 【劍指**】32.從上到下打印二叉樹

32.從上到下打印二叉樹 題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 分析 層序遍歷二叉樹,藉助 隊列 輔助。。 代碼 /* struct TreeNode { int val; struct Tre