题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

class Solution:

    def ReverseList(self , head: ListNode) -> ListNode:

        #处理空链表

        if not head:

            return None #空链表不需要反转,返回空 None

            #链表的每一个元素都存储了下一个元素的地址

        cur = head #定义一个当前元素指向下一个元素的地址

        pre = None #定义一个上一个元素指向它的下一个元素的地址(初始为空)

        while cur:   #遍历整个链表,每到一个元素,断开当前元素指向下一个元素的地址,并用临时变量记录指向下一个元素的地址,然后当前元素带有的指向下一个元素的地址,改为指向上一个元素的地址,即可以将指针逆向

            #断开链表,要记录当前元素指向的下一个元素,用来指向它的下一个元素的地址,临时变量记录该地址:

            temp = cur.next 

            #上一个元素本来指向当前元素的地址 赋给 当前元素指向的下一个元素,用来指向它的下一个元素的地址:

            cur.next = pre

            #当前元素指向下一个元素的地址 赋给 上一个元素本来指向当前元素的地址

            pre = cur 

            #当前元素指向下一个元素的地址 更新为 当前元素指向的下一个元素,用来指向它的下一个元素的地址:

            cur = temp

        return pre  #更新

全部评论

相关推荐

专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
友友们,我实在是不太明白,校招的话现在大多也是提前实习,然后转正也是需要考核的,考核通过才能转正,那这跟实习转正有什么区别啊
苦闷的仰泳鲈鱼刷了1...:提前实习,是让你提前熟悉业务的,后续是入职后可以减少试用期的(大部分是包入职的);转正实习,要是hc不够或者其他原因,让你正式offer可能都没有,这个风险很大。 ---个人看法和了解到的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务