美文网首页
206. Reverse Linked List

206. Reverse Linked List

作者: 北京旅游 | 来源:发表于2019-01-08 20:47 被阅读0次

Reverse a singly linked list.
Example:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

思路:利用一次循环,设置下一个节点的next指针为当前节点即可。在设置next指针过程中,为了hold住下一个节点需要设置个temp指针来保留值,有点像交换两个数时候使用的temp。

代码:

func reverseList(_ head: ListNode?) -> ListNode? {
            var nextNode = head?.next
            var currentNode = head
            currentNode?.next = nil;
            while (nextNode != nil) {
                let tempNode = nextNode;
                nextNode = nextNode?.next;
                tempNode?.next =  currentNode;
                currentNode = tempNode;
            }
            return currentNode;
}

相关文章

网友评论

      本文标题:206. Reverse Linked List

      本文链接:https://www.haomeiwen.com/subject/ytzbrqtx.html