在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶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.使用雙指標,定義乙個快指標和乙個慢指標,快指標每次走兩步,慢指標...