1. 程式人生 > >反轉連結串列 go語言

反轉連結串列 go語言

  反轉連結串列
反轉一個單鏈表。

示例:

輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL
進階:
你可以迭代或遞迴地反轉連結串列。你能否用兩種方法解決這道題?

type ListNode struct {
     Val int
    Next *ListNode
}

func reverseList(head *ListNode) *ListNode {
    cur := head
    var prev *ListNode
    
    for cur != nil {
        next := cur.Next
        cur.Next = prev
        prev = cur
        cur = next   
    }
    
    return prev
}