题解 | #反转链表#
反转链表
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#