題目:假設有一個沒有頭指針的單鏈表。一個指針指向此單鏈表中間的一個節點(不是第一個,也不是最后一個節點)。請將該節點從單鏈表中刪除。
這個題目非常有意思,通常將刪除節點的前面節點和后面節點鏈接起來,刪除當前節點。但是作為單鏈表只能獲取next節點,前一個節點無法獲取.但是我們可以將將下一個節點的數據拷貝到刪除的節點,然后將刪除節點的next設置為下一個節點的next.
<pre><code>` func deleteNode(currentNode:ListNode) {
let next:ListNode? = currentNode.next
if next != nil {
currentNode.next = next?.next
currentNode.value = next?.value
}
}`</code></pre>