Swift-从无头单链表中删除节点

题目:假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点)。请将该节点从单链表中删除。

这个题目非常有意思,通常将删除节点的前面节点和后面节点链接起来,删除当前节点。但是作为单链表只能获取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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容