题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/** * class ListNode(var `val`: Int) { * var next: ListNode? = null * } */ object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ fun ReverseList(head: ListNode?): ListNode? { // 递推:将当 前要处理的节点 指向 上一个处理过的节点 // write code here var p = head // 上一个处理过的节点 var q = head?.next ?: null // 当前要处理的节点 var r = q?.next ?: null // 下一个要处理的节点 p?.next = null while (q!=null){ q.next = p // 将当 前要处理的节点 指向 上一个处理过的节点 p = q // 下一次 当前节点 变成 上一个处理过的节点 q = r // 下一次 下一个要处理的节点 变成 当前要处理的节点 r = r?.next ?: null // 下一次 下一个要处理的节点 } return p } }#Kotlin##悬赏#