原创 劍指offer-14-鏈表中倒數第k個結點

劍指offer-14-鏈表中倒數第k個結點 題目:輸入一個鏈表,輸出該鏈表中倒數第k個結點。 思路:雙指針,兩個指針一開始都指向頭結點,快指針走了k步之後,快慢指針開始同步移動。當快指針走到尾部時(超出鏈表),慢指針到達倒數第k

原创 劍指offer-17-樹的子結構

劍指offer-17-樹的子結構 題目:輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:約定空樹不是任意一個樹的子結構) 思路:共有兩步判斷: (1)在樹A中找到和樹B的根節點的值一樣的節點R(樹的遍歷) (2)判斷樹A中

原创 用CTEX如何編譯《中國科學》的CCT&LaTEX模板

用CTEX如何編譯《中國科學》的CCT&LaTEX模板 第一次用LaTeX就遇到這麼麻煩的,直接用winEdit打開tex文檔之後無法成功編譯,使用多種方法嘗試,最終使用以下方式成功完成編譯 1.下載FULL版的CTEX並安裝 2

原创 華爲機試-3-明明的隨機數

明明的隨機數 題目:明明想在學校中請一些同學一起做一項問卷調查,爲了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應着不同的學生的學

原创 華爲機試-2-計算字符個數

計算字符個數 題目:寫出一個程序,接受一個由字母和數字組成的字符串,和一個字符,然後輸出輸入字符串中含有該字符的個數。不區分大小寫。 輸入描述: 第一行輸入一個有字母和數字以及空格組成的字符串,第二行輸入一個字符。 輸出描述

原创 華爲機試-1-字符串最後一個單詞的長度

華爲機試-1-字符串最後一個單詞的長度 題目:計算字符串最後一個單詞的長度,單詞以空格隔開 輸入描述: 一行字符串,非空,長度小於5000 輸出描述: 整數N,最後一個單詞的長度 示例: 輸入:hello world

原创 劍指offer-16-合併兩個排序的鏈表

合併兩個排序的鏈表 題目:輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。 思路: 1.非遞歸版本:使用兩個輔助變量,list3和cur,list3爲合鏈表的頭節點,cur爲目前添加到

原创 劍指offer-15-反轉鏈表

反轉鏈表 題目:輸入一個鏈表,反轉鏈表後,輸出新鏈表的表頭。 思路:使用兩個輔助節點(pre與next),pre最初爲null,使用next記錄head的下一個節點,head.next指向pre,pre和head後移一步。 邊界

原创 劍指offer-19-順時針打印矩陣

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

原创 劍指offer-18-二叉樹的鏡像

二叉樹的鏡像 題目:操作給定的二叉樹,將其變換爲源二叉樹的鏡像。 思路:使用遞歸,前序遍歷這顆樹的每個節點,如果遍歷到的節點有子節點,就交換它的兩個子節點。當交換完所有非葉節點的左、右子節點後,就得到了樹的鏡像。 邊

原创 劍指offer-26-字符串的排列

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

原创 華爲機試-13-句子逆序

句子逆序 題目:將一個英文語句以單詞爲單位逆序排放。例如“I am a boy”,逆序排放後爲“boy a am I” 所有單詞之間用一個空格隔開,語句中除了英文字母外,不再包含其他字符 輸入 I am a boy 輸出 b

原创 華爲機試-12-字符串反轉

字符串反轉 題目:寫出一個程序,接受一個字符串,然後輸出該字符串反轉後的字符串。 輸入描述: 輸入N個字符 輸出描述: 輸出該字符串反轉後的字符串 示例: 輸入 abcd 複製 dcba 代碼(…不想用Strin

原创 華爲機試-9-提取不重複的整數

提取不重複的整數 題目:輸入一個int型整數,按照從右向左的閱讀順序,返回一個不含重複數字的新的整數。 輸入描述: 輸入一個int型整數 輸出描述: 按照從右向左的閱讀順序,返回一個不含重複數字的新的整數 示例: 輸

原创 劍指offer-22-二叉搜索樹的後序遍歷序列

劍指offer-22-二叉搜索樹的後序遍歷序列 題目:輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 思路:在某二叉搜索樹的後序遍歷結果