題目描述
反轉(zhuǎn)一個(gè)單鏈表故黑。
示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL
進(jìn)階:
你可以迭代或遞歸地反轉(zhuǎn)鏈表欢策。你能否用兩種方法解決這道題?
解題思路
- 詳見代碼
代碼實(shí)現(xiàn)
// ListNode Definition for singly-linked list.
type ListNode struct {
Val int
Next *ListNode
}
func reverseList(head *ListNode) *ListNode {
if head == nil || head.Next == nil {
return head
}
var prev *ListNode
cur := head
for cur != nil {
cur.Next, prev, cur = prev, cur, cur.Next
}
return prev
}
GitHub
- 源碼傳送門
- 項(xiàng)目中會(huì)提供各種數(shù)據(jù)結(jié)構(gòu)及算法的Golang實(shí)現(xiàn), LeetCode解題思路及答案