pythonチェーンテーブルが返信チェーンテーブルであるか否かを判断する
目次基本構想 コード まとめ チェーンテーブルが返信チェーンテーブルであるかどうかを判断してください.
例1:
入力:1->2出力:false例2:
入力:1->2->2->1出力:true
基本的な考え方
本人自身がチェーンテーブル類を実現したため.そのため、読者はまず最初のブログに行ってチェーンテーブルの親コードをコピーする必要があります(そうしないとコードが長すぎます).まず、チェーンテーブルのすべての要素を統計し、元のリストと逆のリストが等しいかどうかを比較します.
コード#コード#
まとめ
a.主にhead==None:の特殊な状況を忘れないでください.
例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:の特殊な状況を忘れないでください.