剑指 Offer II 024. 反转链表
作者:
邦_ | 来源:发表于
2022-04-24 09:01 被阅读0次
func reverseList(_ head: ListNode?) -> ListNode? {
if head == nil {
return nil
}
var oldHead = head
var endHead : ListNode? = nil
while oldHead != nil {
//先保存下一个节点
let temp = oldHead?.next
//把下一个节点指向前一个节点
oldHead?.next = endNode
//当前节点赋值
endNode = oldHead
//保存的节点重置原来的头结点,让可以继续往下走
oldHead = temp
}
return endHead
}
func reverseList(_ head: ListNode?) -> ListNode? {
if head == nil || head?.next == nil {
return head
}
var ans : ListNode? = nil
//用来遍历链表
var oldNode = head
while true {
let temp = oldNode
//指针后移
oldNode = oldNode?.next
temp?.next = ans
//获取组装后的
ans = temp
if oldNode == nil {
return ans
}
}
}
本文标题:剑指 Offer II 024. 反转链表
本文链接:https://www.haomeiwen.com/subject/iwhqertx.html
网友评论