ZeroRPC和SimpleXMLRPCServer
阿新 • • 發佈:2021-06-15
反轉連結串列
定義一個函式,輸入一個連結串列的頭節點,反轉該連結串列並輸出反轉後連結串列的頭節點。
示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
迭代思路
在遍歷連結串列時,將當前節點的指標改為指向前一個節點。由於節點沒有引用其前一個節點,因此必須事先儲存其前一個節點。在更改引用之前,還需要儲存後一個節點。最後返回新的頭引用。
程式碼
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func reverseList(head *ListNode) *ListNode { if head == nil { return nil } var pre *ListNode cur := head for { if cur == nil { return pre } next := cur.Next cur.Next = pre pre = cur cur = next } return pre }