題目:
給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。
示例 1:
輸入: 1->2->3->3->4->4->5示例 2:輸出: 1->2->5
輸入: 1->1->1->2->3思路:採用三個指標。slow指標指向第乙個重複節點,fast指向最後乙個重複節點,temp指向第乙個重複節點的前乙個節點。如果fast節點值等於slow節點值,fast向前遞進,slow不變,直到fast節點的值不等於slow節點的值。此時,令temp->next=fast即可。輸出: 2->3
c++實現如下:
/**
* definition for singly-linked list.
* struct listnode
* listnode(int x) : val(x), next(nullptr) {}
* listnode(int x, listnode *next) : val(x), next(next) {}
* };
*/class solution
slow=fast;
if(fast==null)
else
}else
}return dummyhead->next;
}};
82 刪除排序鍊錶中的重複元素 II
給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5 示例 2 輸入 1 1 1 2 3 輸出 2 3 題解 建立乙個頭結點,這樣可以保證第乙個結點能簡單的移除掉 listnode l 為操作結點的前一結點...
82 刪除排序鍊錶中的重複元素 II
給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5 示例 2 輸入 1 1 1 2 3 輸出 2 3 自己的思路很簡單,那就是雙指標法,pre指向下乙個最後乙個不重複的節點。而cur去搜尋重複節點,當找到...
82 刪除排序鍊錶中的重複元素 II
細節分析 1.按照慣例,設定乙個空的頭節點,用於返回,接著用乙個指標儲存結果 res res head listnode none return res head 2.再設定乙個空的頭節點指標,用於遍歷鍊錶 point listnode none point.next head 3.所以 res用於...