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  
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    设计模式之 原型模式
    设计模式之 策略模式
    设计模式之 单例模式
    使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
    Java 内存分配全面浅析(转)
    java常量池概念 (转)
    java基本类型和包装类的区别(转)
    JAVA数据类型(转)
    SQL SERVER 2008 服务器登录名、角色、数据库用户、角色、架构的关系(转)
    视图的好处(转)
  • 原文地址:https://www.cnblogs.com/fengff/p/10391566.html
Copyright © 2011-2022 走看看