关于golang:Leetcode专题链表206反转链表

45次阅读

共计 338 个字符,预计需要花费 1 分钟才能阅读完成。

力扣链接:
https://leetcode-cn.com/probl…
解题思路:

  1. 链表题目在做的时候,应用一个虚构头节点是罕用的做法,尤其是须要返回新的头节点时
  2. 这道题的不同点在于,只是返回翻转的节点,所以头节点肯定是之前的最初一个节点,然而翻转之前的节点须要指向空,所以新建一个空的新节点
  3. 本题的解法为双指针法:建设两个节点:pre 和 cur
type ListNode Struct {
    val int
    next *ListNode
}
func reverseList(head *ListNode) *ListNode {pre := &ListNode{}
    cur := head
    for cur != nil {
        next := cur.Next
        cur.Next = pre
        pre = cur
        cur = next
    }
    return pre
}

正文完
 0