秋招找到现在0offer,可能确实不是啥做安全的料
老老实实刷题背面经,春招找java吧
牛客第一题,反转一个列表
分析思路:其实核心思路就一句:
curr.next=pre
pre代表之前节点,curr代表当前节点
当前节点的next依次指向之前节点,难得是下标更新
class Solution:
def ReverseList(self , head: ListNode) -> ListNode:
#特殊情况head为空
if not head:
return None
#初始化pre和curr
pre=None
curr=head
#curr不为空就继续循环,终止条件为curr为None
while curr:
#后面一句摇动curr.next,但是更新下标的时候又需要这个东西,所以找个临时变量存起来
curr_next=curr.next
curr.next=pre
#遍历更新下标
pre=curr
curr=curr_next
#上面写了循环的终止条件,当前curr为空,从pre开始给队头
return pre