pythonチェーンテーブルが返信チェーンテーブルであるか否かを判断する


目次
  • 基本構想
  • コード
  • まとめ
  • チェーンテーブルが返信チェーンテーブルであるかどうかを判断してください.
    例1:
    入力:1->2出力:false例2:
    入力:1->2->2->1出力:true
    基本的な考え方
     本人自身がチェーンテーブル類を実現したため.そのため、読者はまず最初のブログに行ってチェーンテーブルの親コードをコピーする必要があります(そうしないとコードが長すぎます).まず、チェーンテーブルのすべての要素を統計し、元のリストと逆のリストが等しいかどうかを比較します.
    コード#コード#
    # -*- coding: utf-8 -*-
    # ======================================================
    # @Time    : 2021/01/17
    # @Author  : lele wu
    # @Email   : [email protected]
    # @File    : huiwenlianbiao.py
    # @Comment:  
    # ======================================================
    '''
        :
                     
        :
                ,               ,  ,      
    '''
    from lianbiao import lianbiao
    
    class isHuiWen(lianbiao):
        def ishuiwen(self):
            if self.head is None:    #      ,      
                return None
            val = []                 #        
            pointer = self.head
            while pointer:
                val.append(pointer.getData())
                pointer = pointer.getNext()
            if val == val[::-1]:
                return True
            return False
    if __name__ == '__main__':
        mylb=isHuiWen()
        mylb.add(1)
        mylb.add(2)
        mylb.add(2)
        mylb.add(1)
        print([ele for ele in mylb.show()])
        print('       ?',mylb.ishuiwen())
    

    まとめ
    a.主にhead==None:の特殊な状況を忘れないでください.