【劍指Offer】劍指offer題目彙總

  本文爲《劍指Offer》刷題筆記的總結篇,花了兩個多月的時間,將牛客網上《劍指Offer》的66道題刷了一遍,以博客的形式整理了一遍,這66道題屬於相對基礎的算法題目,對於刷題練手是很好的實踐,接下來會繼續回到LeetCode,爭取天天拿出一個小時,刷一到兩道題。html

  本文主要對這66道題作一個總結,總體來看,這66道題,涉及到了經常使用的數據結構:數組、字符串、鏈表、樹、二叉樹、棧、隊列,還有在編程中經經常使用到的數據操做和算法:循環、遞歸、查找、排序、回溯、動態規劃、位運算。如下對這66道題作一個歸類。正則表達式

  從這些題目中,咱們能夠學習到如下一些解題經驗算法

  • 首先要真正理解題意,對於一些不肯定的狀況,好比輸入輸出格式,能夠追問。
  • 思考要全面,對於特殊狀況,好比指針爲null,輸入爲空等等狀況,要充分考慮,保證代碼的完整性和魯棒性。
  • 當遇到一個比較複雜的問題時,能夠經過畫圖、舉例或者分解來考慮,從具體的實例中總結廣泛規律。
  • 注重效率的考量,這66道題用蠻力法解決可能都不是很難,可是咱們須要考慮的是時間效率和空間效率的平衡,以空間換時間有時候是一個不錯的選擇。
  • 經常使用數據結構和數據操做是基礎,要重點掌握,如樹的遍歷,排序,查找,遞歸等操做,在題目中反覆用到,要深入理解算法思想。

數組(共12道題目):

【劍指Offer】一、二維數組中的查找編程

【劍指Offer】六、旋轉數組的最小數字數組

【劍指Offer】1三、調整數組順序使奇數位於偶數前面數據結構

【劍指Offer】1九、順時針打印矩陣函數

【劍指Offer】2八、數組中出現次數超過一半的數字學習

【劍指Offer】30、連續子數組的最大和spa

【劍指Offer】3二、把數組排成最小的數指針

【劍指Offer】3五、數組中的逆序對

【劍指Offer】3七、數字在排序數組中出現的次數

【劍指Offer】40、數組中只出現過一次的數字

【劍指Offer】50、數組中的重複數字

【劍指Offer】5一、構建乘積數組


字符串(共9道題目):

【劍指Offer】二、替換空格

【劍指Offer】2七、字符串的排列

【劍指Offer】3四、第一個只出現一次的字符

【劍指Offer】4三、左旋轉字符串

【劍指Offer】4四、反轉單詞序列

【劍指Offer】4九、把字符串轉換爲整數

【劍指Offer】5二、正則表達式匹配

【劍指Offer】5三、表示數值的字符串

【劍指Offer】5四、字符流中第一個不重複的字符


鏈表(共8道題目):

【劍指Offer】三、從尾到頭打印鏈表

【劍指Offer】1四、鏈表中倒數第K個結點

【劍指Offer】1五、反轉鏈表

【劍指Offer】1六、合併兩個排序的鏈表

【劍指Offer】2五、複雜鏈表的複製

【劍指Offer】3六、兩個鏈表的第一個公共結點

【劍指Offer】5五、鏈表中環的入口結點

【劍指Offer】5六、刪除鏈表中重複的結點


樹和二叉樹(共15道):

【劍指Offer】四、重建二叉樹

【劍指Offer】1七、樹的子結構

【劍指Offer】1八、二叉樹的鏡像

【劍指Offer】2二、從上往下打印二叉樹

【劍指Offer】2三、二叉搜索樹的後序遍歷序列

【劍指Offer】2四、二叉樹中和爲某一值的路徑

【劍指Offer】2六、二叉搜索樹與雙向鏈表

【劍指Offer】3八、二叉樹的深度

【劍指Offer】3九、平衡二叉樹

【劍指Offer】5七、二叉樹的下一個結點

【劍指Offer】5八、對稱的二叉樹

【劍指Offer】5九、按之字形順序打印二叉樹

【劍指Offer】60、把二叉樹打印成多行

【劍指Offer】6一、序列化二叉樹

【劍指Offer】6二、二叉搜索樹的第K個結點


回溯法(共2道題目):

【劍指Offer】6五、矩陣中的路徑

【劍指Offer】6六、機器人的運動範圍

棧和隊列(共3道題目):

【劍指Offer】五、用兩個棧實現隊列

【劍指Offer】20、包含min函數的棧

【劍指Offer】2一、棧的壓入彈出序列


遞歸和循環(共4道題目):

【劍指Offer】七、斐波那契數列

【劍指Offer】八、跳臺階

【劍指Offer】九、變態跳臺階

【劍指Offer】十、矩形覆蓋


數學(共3道題目):

【劍指Offer】十二、數值的整數次方

【劍指Offer】4七、求1+2+3+···+n

【劍指Offer】4八、不用加減乘除作加法


其餘(共10道題目):

【劍指Offer】十一、二進制中1的個數

【劍指Offer】2九、最小的K個數

【劍指Offer】3一、從1到n整數中1出現的次數

【劍指Offer】3三、醜數

【劍指Offer】4一、和爲S的連續正數序列

【劍指Offer】4二、和爲S的兩個數字

【劍指Offer】4五、撲克牌順子

【劍指Offer】4六、圓圈中最後剩下的數

【劍指Offer】6三、數據流中的中位數

【劍指Offer】6四、滑動窗口的最大值

相關文章
相關標籤/搜索