此系列是我用kotlin二刷leetcode写的总结,会总结用各个方法做的题目以及心得,主要是剑指offer专栏的题目
链表
第一题剑指offer24
- 思路:此题利用双指针解决,一个指针指向head,另一个指针慢一个位置,每次保存前面的指针下一位然后让前面的指针指向后面指针,接着后指针前移就可以原地实现链表逆转
- 细节:kotlin中要给后指针指定类型为Any?才可以赋值为null后转换成ListNode,记得类型转换
class jz_offer_24 {
fun reverseList(head: ListNode?): ListNode? {
var cur:Any?= null
var pre=head
while (pre!=null){
val temp=pre.next
pre.next= cur as ListNode?
cur=pre
pre=temp
}
return cur as ListNode?
}
}