题目描述
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
解题思路
调转指针方向法
原:p.next->q
变为q.next->p
语法原理:
p.next.next=p
你需要申请一个变量来储存p.nent.next变量,不然就找不到了
核心语法
//顺序:p.next=q;;q.next=t
q.Next = p//回指操作
p = q//下面三步为复位操作,变回p.next=q;;q.next=t
q = t
t = t.Next
代码示例
func reverseList(head *ListNode) *ListNode {
if head==nil{
return head
}
var p *ListNode
q, t := head, head.Next
for t != nil {
q.Next = p
p = q
q = t
t = t.Next
}
q.Next = p
return q
}
执行结果
更多
更多解决方案请参考:
https://leetcode.cn/problems/reverse-linked-list/solution/