나는 파이썬에서 단독으로 링크 된 목록에서 두 번째 요소를 얻으려고합니다. 여기 내 구현 :단일 링크 목록 Python 구현
class ListNode:
def __init__(self, data, next):
self.data = data
self.next = next
def make_arr(xx, arr):
if xx == None:
return arr
else:
arr.insert(0, xx.data)
make_arr(xx.next, arr)
다음 작업을 수행 할 때
lst = ListNode(1, ListNode(2, ListNode(3, ListNode(3, None))))
print make_arr(lst, [])[2]
나는 오류 얻을 : 당신은
make_arr
에서
arr
을 반환하지 않을
'NoneType' object has no attribute '__getitem__'
'없음'문제 외에도 링크 된 목록의 반대 버전으로'arr '을 빌드하고 있습니다. 그게 목적 이었나요? –
예, 한번 역순으로 처리했기 때문에 역순으로 된 목록의 세 번째 요소를 검색 할 수 있습니다. 역순 목록의 두 번째 요소는 원본 요소의 마지막 요소가됩니다. (선형 알고리즘) – user2837048