题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
func ReverseList( pHead *ListNode ) *ListNode {
// write code here
if pHead == nil {
return nil
}
var resp *ListNode
var i = 0
for pHead != nil && i<=1000 {
var temp = pHead.Next
pHead.Next = resp
resp = pHead
pHead = temp
i++
}
return resp
}
题目剖析:
一次调用:
原链表: 1 -> 2 -> 3
新建链表 1 -> nil
二次调用:
原链表: 2-> 3
新链表: 2 -> 1
但是需要注意新链表的初始化方式要是*ListNode,否则将会变成末尾是0
#反转链表go#
SHEIN希音公司福利 278人发布