zoukankan      html  css  js  c++  java
  • python实现单链表反转(经典笔试题)

    https://blog.csdn.net/su_bao/article/details/81072849

    0、说在前面的话

         链表结构,说难不难,说易不易,一定要亲自编程实现一下。其次就是一定要耐心,慢慢去体会其中的道道,博主一开始也是有点懵逼的,后来仔细琢磨了一下终于搞明白了,相信聪明的你也一定可以,有问题可以留言交流。
    1、单链表结构

    2、反转的想法

          建立三个变量,L、M、R互相赋值迭代,并建立指向关系,从而实现单链表的反转。
    3、python代码实现

        class Node(object):
            def __init__(self, data, next=None):
                self.val = data
                self.next = next
         
        def fun4(head):
            if head == None:
                return None
            L,M,R = None,None,head
            while R.next != None:
                L = M
                M = R
                R = R.next
                M.next = L
            R.next = M
            return R
        #测试用例
        if __name__ == '__main__':
            l1 = Node(3)
            l1.next = Node(2)
            l1.next.next = Node(1)
            l1.next.next.next = Node(9)
            l = fun4(l1)
            print (l.val, l.next.val, l.next.next.val, l.next.next.next.val)
    ---------------------  
    作者:su_bao  
    来源:CSDN  
    原文:https://blog.csdn.net/su_bao/article/details/81072849  
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    netcore 开发问题整理(图片地址)
    netcore 开发问题整理(下拉框)
    C# 请求网址中汉字的编码转换
    C# 时间戳
    c# 判断指定文件是否存在
    js数组常用方法整理
    服务器断电 Mysql启动失败
    Bean初始化之postProcessBeforeInitialization、afterPropertiesSet、init-method、postProcessAfterInitialization等方法的加载
    Java多线程基础
    Mysql多字段order by用法
  • 原文地址:https://www.cnblogs.com/fengff/p/10391566.html
Copyright © 2011-2022 走看看