間の要素の削除
問題
間のnodeだけ与えられたときにそれを削除する
考え方
削除したいnodeが次のnodeに当たるように書き換えれば良い
コード例
class Node(): def __init__(self, d): self.data = d self.next = None def appendToTail(self, d): end = Node(d) n = self while(n.next): n = n.next n.next = end def deleteNode(head, d): """ 初めに出てきたdを削除する """ n = head if(n.data == d): return head.next while(n.next): if(n.next.data == d): n.next = n.next.next return head n = n.next return head if __name__ == "__main__": node = Node(0) for i in range(4): node.appendToTail(i+1) # 2番目のnodeを与える delete(node.next) while node != None: print(node.data) node = node.next