题目:假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点)。请将该节点从单链表中删除。
这个题目非常有意思,通常将删除节点的前面节点和后面节点链接起来,删除当前节点。但是作为单链表只能获取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>