• 面试题13-o(1)时间内删除链表结点


    1. # -*- coding: utf-8 -*-
    2. """
    3. Created on Tue Feb 28 09:10:19 2017
    4. @author: zzpp220
    5. """
    6. class LinkList:
    7.    def __init__(self,val,link=None):
    8.        self.val=val
    9.        self.link=link
    10.    def __del__(self):
    11.        self.link=None
    12.        self.val=None
    13. class DelNode:  
    14.    
    15.    def delNodeInO_1(self,link_head,toBeDeled):
    16.        if not link_head or not toBeDeled or(link_head.link==None and link_head!=toBeDeled):#special codition
    17.            return False
    18.        if link_head.val and link_head.link==None and link_head==toBeDeled:
    19.            link_head.__del__()
    20.            return 'Done'
    21.        if toBeDeled.link==None:##end node
    22.            pNode=link_head
    23.            while pNode.link!=toBeDeled:
    24.                pNode=pNode.link
    25.            pNode.link=None
    26.            toBeDeled.__del__()
    27.        else:##non-end node
    28.            pnext=toBeDeled.link
    29.            toBeDeled.val=pnext.val
    30.            toBeDeled.link=pnext.link
    31.            pnext.__del__()
    32. if __name__=="__main__":
    33.    l1=LinkList(4)
    34.    l2=LinkList(3,l1)
    35.    l3=LinkList(2,l2)
    36.    l4=LinkList(1,l3)
    37.    solution=DelNode()
    38.    print solution.delNodeInO_1(l1,None)#(None,l4),(l4,l4),(l4,l1),(l1,l1),(l1,None)
    39.    print l4.val,l4.link.val,l4.link.link.val            
    40.            


    附件列表

    • 相关阅读:
      AJAX学习笔记
      JQuery 学习笔记-2017.05.22
      十二.GUI
      十一.文件
      十.模块和库
      九.类的进化(魔法方法、特性和迭代器)
      八.异常
      七.类的继承
      六.函数和类
      五.条件、循环和其他语句
    • 原文地址:https://www.cnblogs.com/zzxx-myblog/p/6481239.html
    Copyright © 2020-2023  润新知