問題陳述:從有序鏈表 刪除重複值的節點我的代碼從已排序的鏈接列表中刪除重複值節點有什麼問題?
輸入格式:
你必須完成節點* RemoveDuplicates(節點*頭)方法,它接受一個參數 - 的頭排序的鏈接列表。你不應該讀取標準輸入/控制檯的任何輸入。
輸出格式:
刪除儘可能少的節點儘可能確保沒有兩個節點具有相同的數據。調整下一個指針,以確保其餘節點形成單個排序鏈接列表。然後返回已排序的已更新鏈接列表的頭部。
我的代碼:
Node RemoveDuplicates(Node head) {
Node n = head;
while(n.next!=null){
Node test = n.next;
while(n.data==test.data){
if(test.next!=null){
n.next = test.next;
test = n.next;
}
else{
n.next = null;
}
}
if((n.next!=null)){
n = n.next;
}
}
return head;
}
測試時,它完美地運行,除了當最後一個節點的值等於前一個節點的值。我在代碼中找不到錯誤。
測試結果:
第一int是測試用例和第二INT的數目是在列表中的節點的數目。
是的,修正了它。我可能忽略了其他條件。非常感謝。 – Charan