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

2021-10-09 21:13:03 字數 982 閱讀 2798

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

目前提供兩種方式,

第一種通過乙個前指標和當前指標,找到重複節點並刪除

第二種1.首先新增乙個頭節點,以方便碰到第乙個,第二個節點就相同的情況2.設定 pre ,last 指標, pre指標指向當前確定不重複的那個節點,而last指標相當於工作指標,一直往後面搜尋。

**一:

/*

struct listnode

};*/

class

solution

//刪除前乙個重複的節點

listnode* ptemp1 = phead;

if(ppre == phead)

else

ptemp1-

>next = ppre-

>next;

} ppre = ptemp;

if(ptemp !=

null

) ptemp = ptemp-

>next;

}else

}return phead;}}

;

**二:

/*

struct listnode

};*/

class

solution

ppre-

>next = plast-

>next;

plast = plast-

>next;

}else

}return head-

>next;}}

;

注意:

新增頭結點

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

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解題思路 首先定義兩個變數cur和pre,開始都指向頭節點,用cur來尋找重複的節點,用pre來記錄非重複的節點。分為兩種情況 1 如果鍊錶從頭...

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

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解題思路 用兩個指標,pre指向當前結點的前乙個,cur指向當前結點,兩個指標都從頭結點開始判斷,cur val cur next val是重複...

牛客網刷題之鍊錶入環點 刪除鍊錶中重複節點

題目一描述 給乙個鍊錶,若其中包含環,請找出該鍊錶的環的入口結點,否則,輸出null。題目分析 鍊錶是否有環使用兩種方式進行判斷 參考牛客網左神演算法課 1.將鍊錶使用hash進行儲存,如果兩個節點有相同的hash值則表明鍊錶有環 2.使用雙指標,定義乙個快指標和乙個慢指標,快指標每次走兩步,慢指標...