2 Star 2 Fork 1

Justin Yuan/LeetCode-Swift

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ReverseLinkedList.swift 1.05 KB
一键复制 编辑 原始数据 按行查看 历史
/**
* Question Link: https://leetcode.com/problems/reverse-linked-list/
* Primary idea: Use two helper nodes, traverse the linkedlist and change point direction each time
* Time Complexity: O(n), Space Complexity: O(1)
*
* Definition for singly-linked list.
* public class ListNode {
* public var val: Int
* public var next: ListNode?
* public init(_ val: Int) {
* self.val = val
* self.next = nil
* }
* }
*/
class ReverseLinkedList {
func reverseList(head: ListNode?) -> ListNode? {
var temp: ListNode?
var first = head
while first != nil {
let second = first!.next
first!.next = temp
temp = first
first = second
}
return temp
}
func reverseList(_ head: ListNode?) -> ListNode? {
guard let h = head, let next = h.next else {
return head
}
let node = reverseList(next)
next.next = h
h.next = nil
return node
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/BiggerMax/LeetCode-Swift.git
git@gitee.com:BiggerMax/LeetCode-Swift.git
BiggerMax
LeetCode-Swift
LeetCode-Swift
master

搜索帮助