原创 Lintcode 166.鏈表倒數第n個節點

1.問題描述:找到單鏈表倒數第n個節點,保證鏈表中節點的最少數量爲n 2.解題思路:創建兩個指向head的指針p q,讓p遍歷,p先開始移動,p走到第n-1個節點是,之後p q 一起往後移動,這時候當p指向最後一個節點的時候,q就指向了倒

原创 Lintcode112.刪除排序鏈表中的重複元素

1.問題描述:給定一個排序鏈表,刪除所有重複的元素每個元素只留下一個 2.解決思路:判斷當前節點temp和temp->next數據域存放的數據元素的關係,若兩個節點的存放數據相同將 temp->next指向temp->next->next

原创 Lintcode 452.刪除鏈表中的元素

1.問題描述:刪除鏈表中等於給定值val的所有節點 2.解題思路:創建一個頭節點dummy,來保存第一個節點。然後將dummy附值給head,這樣就從鏈表的第一的節點開始遍歷,若head->next的值與val的值相等,則將head->n

原创 Lintcode 174.刪除鏈表中倒數第n個節點

1.問題描述:給定一個鏈表,刪除鏈表中倒數第n個節點,返回鏈表的頭節點。 2.解題思路:head先走了n步,這樣head和temp之間差n個節點,之後head和temp一起往後移動,當head移動到了NULL的時候,temp移動到了倒數第

原创 Lintcode 二叉樹的中序遍歷

1:問題描述: 給出一棵二叉樹,返回其節點值的中序遍歷。 樣例 給出二叉樹 {1,#,2,3}, 1 \ 2 / 3 返回   2:解題思路:用遞歸的方法中序遍歷二叉樹,存到vector裏

原创 lintcode 二叉樹的最小深度

1:問題描述:給定一個二叉樹,找出其最小深度。二叉樹的最小深度爲根節點到最近葉子節點的距離。 樣例 給出一棵如下的二叉樹:         1      /     \     2       3           /    \  

原创 Lintcode167.鏈表求和C++

1.問題描述:你有兩個用鏈表代表的整數,其中每個節點包含一個數字。數字存儲按照在原來整數中相反的順序,使得第一個數字位於鏈表的開頭。寫出一個函數將兩個整數相加,用鏈表形式返回和 2.解題思路:從兩條鏈表的最開始節點一個個相加每的個節點只能

原创 Lintcode 451.兩兩交換鏈表中的節點

1.問題描述:給一個鏈表,兩兩交換其中的節點,然後返回交換後的鏈表。 2.思路:兩兩交換兩個節點數據域所存放的數據元素 3.通過的代碼: /**  * Definition for singly-linked list.  * struc

原创 lintcode 二叉樹的最大深度

1:問題描述: 給定一個二叉樹,找出其最大深度。 二叉樹的深度爲根節點到最遠葉子節點的距離 樣例 給出一棵如下的二叉樹: 1 / \ 2 3 / \ 4 5 這個二叉樹的最大深度爲3. 2:問題思路:爲

原创 Lintcode 372.在O(1)時間複雜度裏刪除節點

1.問題描述:給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在O(1)時間複雜度刪除該鏈表節點。 2.解題思路:已經給定了一個要刪除的節點node,就用node的下一個節點來覆蓋掉要刪除的node。然後釋放掉node以前的下一

原创 lintcode 二叉樹的前序遍歷

1:問題描述: 給出一棵二叉樹,返回其節點值的前序遍歷。 給出一棵二叉樹 {1,#,2,3}, 1 \ 2 / 3  2:解題思路:用遞歸的方法前序遍歷二叉樹,存到vector裏去,返回數組,得到

原创 Lintcode 165合併兩個排序鏈表

1.問題描述:將兩個排序鏈表合併爲一個新的排序鏈表 2.解題思路:遍歷兩個鏈表的公共長度,根據節點值得大小來改變每次節點的連接,然後判斷那條鏈表還有剩餘,最後將較長鏈表的剩餘部分追加到節點的後面 3.通過的代碼: /**  * Defin

原创 Lintcode 173.鏈表插入排序

1.問題描述:用插入排序對鏈表排序 2.思路:在鏈表中,將小的節點往前插,大就往後插,這樣之後就可以把鏈表按大小順序排好。。 3.通過的代碼: /**  * Definition of ListNode  * class ListNode

原创 lintcode鏈表專題總結

                                                                                            總結 自己半個學期沒寫程序,感覺好多東西都已經忘得很多

原创 Lintcode 76.鏈表劃分

1.問題描述: 給定一個單鏈表和數值x,劃分鏈表使得所有小於x的節點排在大於等於x的節點之前。 你應該保留兩部分內鏈表節點原有的相對順序 2.解題思路: 先創建兩個節點,從開始遍歷鏈表判斷節點的值與x的大小,分別存放將比x大和小的節點,最