Pythonでのリンクリストの長さ
単一リンクリストがあるとすると、その長さを見つける必要があります。リンクリストには、nextとvalのフィールドがあります。
したがって、入力が[2-> 4-> 5-> 7-> 8-> 9-> 3]の場合、出力は7になります。
これを解決するには、次の手順に従います-
- count:=0
- ノードがnullでない場合は、
- count:=count + 1
- node:=ノードの次
- 返品数
理解を深めるために、次の実装を見てみましょう-
例
class ListNode: def __init__(self, data, next = None): self.val = data self.next = next def make_list(elements): head = ListNode(elements[0]) for element in elements[1:]: ptr = head while ptr.next: ptr = ptr.next ptr.next = ListNode(element) return head class Solution: def solve(self, node): count = 0 while node: count +=1 node=node.next return count ob = Solution() head = make_list([2,4,5,7,8,9,3]) print(ob.solve(head))
入力
[2,4,5,7,8,9,3]
出力
7
-
K長の行を省略するPythonプログラム
Kの長さの行を省略する必要がある場合は、単純な反復と「len」メソッドと「append」メソッドが使用されます。 例 以下は同じもののデモンストレーションです my_list = [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]] print("The list is :") print(my_list) my_k = 2 print("The value of K is ") print(my_k) my_result = [] for row in my_list: if len(row)
-
Pythonのリンクリストからmノードの後にnノードを削除するプログラム
開始ノードが「head」で、2つの整数mとnを持つリンクリストが与えられたとします。リストをトラバースして、最初のmノードがリストに保持され、最初のmノードが削除された後の次のnノードなどのいくつかのノードを削除する必要があります。リンクリストの最後に到達するまでこれを実行します。ヘッドノードから開始し、変更されたリンクリストが返されます。 リンクリスト構造は-として与えられます Node value : <integer> next : <pointer to next node> したがって、入力が要素=[1、