牛客刷題 刪除鍊錶中重複的結點

2021-09-25 15:37:59 字數 531 閱讀 6015

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5

解題思路:

用兩個指標,pre指向當前結點的前乙個,cur指向當前結點,兩個指標都從頭結點開始判斷,cur->val==cur->next->val是重複結點,讓cur往後移 一直遍歷到重複的最後乙個結點時,pre->next=cur->next.這樣就把cur指過的重複的結點刪掉了。

有兩種情況要注意  一是要判斷cur是不是null,cur->next是不是null,頭結點是不是重複的結點。

/*

struct listnode

};*/

class solution

if(flag)

else

pre->next=cur->next;

}else

cur=pre->next;

}return phead;

}};

牛客 刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 1,申請乙個新的鍊錶儲存刪除重複結點後的鍊錶 2,注意是將所有重複的結點全部刪除 3,定義乙個p指標指向原鍊錶,乙個指標newp指向新...

牛客網 刪除鍊錶中重複結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。對於這個題 思路是 1.首先new乙個新的結點head作為頭結點,head指向鍊錶的第乙個結點,新new乙個頭結點是為了防止鍊錶第乙個結點開始就...

牛客網 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 這種遞迴的鍊錶的解法看起來題目很簡單,答案也很簡單,但是遞迴過程中的變數變化邏輯很重要,可以畫圖來慢慢琢磨。class solution def...