【文件属性】:
文件名称:leetcode:leetcode专题算法总结golang
文件大小:14.89MB
文件格式:ZIP
更新时间:2021-03-20 16:24:33
Go
方法一:迭代
思路:将当前例程的下一个指针更改指向前一个例程。
func reverseList ( head * ListNode ) * ListNode {
var prev * ListNode
curr := head
for curr != nil {
next := curr . Next
curr . Next = prev
prev = curr
curr = next
}
return prev
}
时间复杂度:O(n),其中n是链表的长度。需要遍历链表一次。
空间复杂度:O(1)。
方法二:递归
func reverseList ( head * ListNode ) * ListNode {
if head == nil || head . Next == nil {
return head
}
newHead := rever