題目描述:
給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。
示例 1:
輸入: 1->2->3->3->4->4->5
輸出: 1->2->5
示例 2:
輸入: 1->1->1->2->3
輸出: 2->3
解題思路:總體思路就是把每個不重複的值重新重新放到乙個新的鍊錶裡面即可,需要乙個新的頭節點,兩個指標,乙個做當前指標,乙個做掃瞄指標。
**描述:
/**
* definition for singly-linked list.
* struct listnode
* };
*/class solution
q=q->next;
p=q;
}r->next=p;//把最後乙個數新增到新煉表裡
return nhead->next;
}};
Leetcode 82 刪除排序鍊錶中的重複元素
刪除重複結點,只需要記錄當前結點前的最晚訪問過的不重複結點ppre 當前結點pcur 指向當前結點後面的結點pnext的三個指標即可。如果當前節點和它後面的幾個結點數值相同,那麼這些結點都要被剔除,然後更新ppre和pcur 如果不相同,則直接更新ppre和pcur。需要考慮的是,如果第乙個結點是重...
LeetCode82 刪除排序鍊錶的重複元素 II
給定乙個已排序的鍊錶的頭 head 刪除原始鍊錶中所有重複數字的節點,只留下不同的數字 返回 已排序的鍊錶 示例 1 輸入 head 1,2,3,3,4,4,5 輸出 1,2,5 示例 2 輸入 head 1,1,1,2,3 輸出 2,3 鍊錶中節點數目在範圍 0,300 內 100 node.va...
leetcode 82 移除有序鍊錶中的重複項之二
給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5示例 2 輸入 1 1 1 2 3 輸出 2 3由於鍊錶開頭可能會有重複項,被刪掉的話頭指標會改變,而最終卻還需要返回鍊錶的頭指標。所以需要定義乙個新的節...