原创 劍指offer-面試3:二維數組中的查找(數組和指針)

題目 解題思想 測試用例代碼 本題考點 題目 在一個二維數組中,每一行都是按照從左到右遞增的順序排序,每一列都是按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 解題

原创 劍指offer-3-面試14:調整數組順序使奇數位於偶數前面

題目 分析 只完成基本功能的解法僅適用於初級程序員 考慮可擴展性的解法能秒殺offer 測試用例代碼 本題考點 題目 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半

原创 劍指offer-面試1:賦值運算符函數(C++ operator重構)

在面試的時候有種題型是要求寫代碼定義一個類型或者實現類型中的成員函數 。 題目 如下爲類型CMyString的聲明請爲該類型添加賦值運算符函數 分析 經典的解法適用於初級程序員 異常安全性的解法 測試用例源代碼 本題考點

原创 劍指offer-數據結構:數組和指針(基礎知識)

數據結構一直是技術面試的重點,大多數面試題都是圍繞着數組、字符串、鏈表、樹、棧以及隊列這幾種常見的數據結構展開的。 數組和字符串是兩種最基本的數據結構,用連續內存分別存儲數字和字符。 在C/C++中,數組和指針是相互關聯又有區別的

原创 劍指offer-算法和數據結構:查找和排序

和數據結構一樣,算法的面試題也備受面試官的青睞,其中排序和查找是面試是考察算法的重點。 在準備面試的時候應該重點掌握二分查找、歸併排序和快速排序,做到能隨時正確、完整地寫出它們的代碼。 查找和排序都是在程序設計中常用到的算法。查

原创 劍指offer-面試7:用兩個棧實現隊列(棧和隊列)

題目 分析 測試用例代碼 本題考點 相關題目 題目 用兩個棧實現一個隊列。隊列的聲明如下,請實現它的兩個函數 appendTail 和 deleteHead,分別完成在隊列尾部插入節點和在隊列頭部刪除結點的功能。。 tem

原创 劍指offer-面試6:重建二叉樹(二叉樹前中後序遍歷)

題目 分析 測試用例代碼 本題考點 題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如 輸入前序遍歷序列{ 1,2,4,7,3,5,6,8 } 和 中序遍

原创 劍指offer-數據結構:字符串(基礎知識)

爲了節省內存,C/C++把常量字符串放到單獨的一個內存區域。當幾個指針賦值給相同的常量字符串時,它們實際上會指向相同的內存地址。但用常量初始化數組,情況卻有所不同。 #include<iostream> using namesp

原创 劍指offer-3-面試15:鏈表中倒數第k個結點

題目 分析 測試用例代碼 本題考點 相關題目 舉一反三 題目 輸入一個鏈表,輸出該鏈表中第K個結點。爲了符合大多數人的習慣,本題從1開始計數,即鏈表的尾結點是倒數第1個結點。例如,一個鏈表有6個結點,從頭

原创 劍指offer-面試10:二進制中1的個數(位運算)

位運算是把數字用二進制表示之後,對每一位上0或者1的運算。二進制及其位運算是現代計算機學科的基石,很多底層的技術都離不開位運算。 位運算的五種運算: 與、或、異或、左移和右移 運算 0、0 1、0 0、1 1、1 與(

原创 劍指offer-面試8:旋轉數組的最小數字(查找和排序)

題目 分析 基本解法 特例1 特例2 測試用例代碼 本題考點 題目 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如,數

原创 劍指offer-3-面試題11:數值的整數次方(對錯誤的處理)

題目 分析 自以爲題目簡單的解法 全面但不夠高效的解法 全面又高效的解法 測試用例代碼 本題考點 題目 實現函數 double Power( double base, int exponent ),求

原创 劍指offer-4-面試19:二叉樹的鏡像

題目 分析 測試用例代碼 本題考點 題目 完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像 二叉樹結點的定義如下: struct BinaryTreeNode { int m_nvalue;

原创 劍指offer-4-面試題20:順時針打印矩陣(畫圖使抽象問題形象化)

題目 分析 測試用例代碼 本題考點 題目 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字。例如:如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9

原创 劍指offer-3 -高質量的代碼

代碼質量 代碼的規範性 代碼的完整性 從3方面確保代碼的完整性 3種錯誤處理的方法 例子 代碼的魯棒性 關於高質量的代碼 小結 代碼質量 下面是幾個面試官對代碼質量的要求 (1)代碼的容錯能力,對一些特別的輸入需要考