說起樹的遍歷,我們大家應該都比較熟悉。先序,中序,後序,層次遍歷,那麼今天,我們來討論的是二叉搜尋樹遍歷。 先說,我們劍指offer上面的判斷一個序列是不是某一個二叉搜尋樹的後序遍歷。 我們從二叉樹的後序遍歷以及二叉搜尋樹的特點入手。 也就是說二叉搜尋樹的後序遍歷有什麼特點: 我們的根結點是在序列的 […]
題目:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重新構造出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中不包含重複的數字。例如輸入的前序遍歷序列為{1,2,4,7,3,5,6,8}和中序遍歷為{4,7,2,1,5,3,6,8},則重建出二叉樹並輸出它的頭結點。 在二叉樹的前序遍歷序列中,第一個數字總 […]
題目描述 請實現一個函式,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 解題思路 輸入的是前序遍歷及中序遍歷的結果,如示例: 前序 : 1 2 4 7 3 5 6 8 中序 : 4 7 2 1 5 3 8 6 前 […]
重建二叉樹 題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 思路:根據前序第一個字元是根的特性,再在 […]
題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 思路: 前序遍歷是先遍歷根結點,再依次遍歷左結點和右 […]
重建二叉樹 題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 前序遍歷:是先根節點,然後是左子樹然後是 […]
題目描述 請實現兩個函式,分別用來序列化和反序列化二叉樹 題目解析:題目的要求似乎不是太清晰,序列化的意思是指將一些特定的資料結構,變成有格式資訊的字串。例如對一個連結串列,可以將1->2->3->4->NULL序列化為”1,2,3,4″。對於序列化演 […]
題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快 […]
題目:給定一個陣列A[0,1,…,n-1],請構建一個陣列B[0,1,…,n-1],其中B中的元素B[i]=A[0]×A[1]×…×A[i-1]×A[i 1]×…×A[n-1],不能使用除法。 解題思路 例如:A[]={1,2,3}求B[] B[0]=A[1]×A[2]=2×3=6 B[1]=A[0 […]
問題:兩個佇列實現棧。 因為佇列的特點是先進先出,而棧式先進後出。所以具體的實現步驟如下: (1)判斷是否為NULL;如果queue1和queue2都為NULL,則該棧為NULL; (2)如果queue1不為NULL,而queue2為NULL;則queue1出隊,進隊到queue2,如果qu […]