刪除鍊錶中重複的結點

2021-07-14 05:20:07 字數 781 閱讀 4613

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

解法一:遞迴

/*

public class listnode }*/

public class solution

if(phead.next.val == phead.val)

return deleteduplication(curnode);

} else

}}

解法二:非遞迴

/*

public class listnode }*/

public class solution

listnode root = new listnode(0);

root.next = phead;//頭結點前驅結點

listnode pre = root;//pre為移動當前節點的前驅節點

listnode cur = phead;//當前節點

while(cur != null && cur.next != null)

//pre不需後移,因為node.next也可能是重複的

pre.next = cur.next;

}//當前節點與下一節點

else

cur = cur.next;

}return root.next;

}}

刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。刪除鍊錶中重複的結點 author 過路的守望 public class duplicationnode 新建乙個節點指向頭結點 li...

刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 題目分析 刪除鍊錶中的結點要比較當前結點是否與前面結點和後面結點相同,只有兩個都不同的結點才保留。用pre儲存前乙個節點,cur儲存當前結點,c...

刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。注意原煉表頭節點的處理。public class listnode public class solution listnode h ...