題目描述* 劍指offer面試題5:從尾到頭打印鏈表 輸入一個鏈表的頭結點,從尾到頭打印出每個結點的值 解決方案一:首先遍歷鏈表的節點后打印,典型的“后進先出”,可以使用棧來實現這種順序。解決方案二:棧的本質就是遞歸,直接使用遞歸的方式,打印一個節點的時候先打印它后面的節點,再打印該節點 ...
題目:給定單向鏈表的頭指針和一個節點指針,定義一個函數在O 時間刪除該節點。 由於給定的是單向鏈表,正常刪除鏈表的時間復雜度是查找鏈表的時間復雜度即O n ,如果要求在O 時間復雜度內刪除節點,通過遍歷鏈表找到該節點的上一節點和下一節點的方法是行不通了。所以實現的思路是,根據給定的要刪除的節點,可以直接找到其后年的節點,把后面的節點的內容復制到當前節點處,同時將當前節點指向其后面節點的后面節點保證 ...
2017-03-10 18:47 6 4254 推薦指數:
題目描述* 劍指offer面試題5:從尾到頭打印鏈表 輸入一個鏈表的頭結點,從尾到頭打印出每個結點的值 解決方案一:首先遍歷鏈表的節點后打印,典型的“后進先出”,可以使用棧來實現這種順序。解決方案二:棧的本質就是遞歸,直接使用遞歸的方式,打印一個節點的時候先打印它后面的節點,再打印該節點 ...
一、題目:在O(1)時間刪除鏈表結點 題目:給定單向鏈表的頭指針和一個結點指針,定義一個函數在O(1)時間刪除該結點。 原文采用的是C/C++,這里采用C#,節點定義如下: 要實現的DeleteNode方法定義如下: 二、解題思路 2.1 ...
題目: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建出二叉樹並輸出他的根節點。 在二叉樹的前序遍歷中,第一個數字總是樹 ...
題目:寫一個函數,輸入n,求斐波那契數列的第n項。 ...
題目描述 在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 下面是我實現的代碼,修改下類名(Solution)和方法名(Find)通過了牛客網的測試用例 ...
題目: 請實現一個函數,輸入一個整數,輸出該整數二進制表示中1的個數。例如,把9表示成二進制是1001,有2位是1,該函數輸出2解法:把整數減一和原來的數做與運算,會把該整數二進制表示中的最低位的1變成0,與運算進行多少次就有多少個1。 ...
題目描述 請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之后的字符串為We%20Are%20Happy。 ...