donnemartin / interactive-coding-challenges

120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linked_List_Challenge get length method- another solution?

redlonr opened this issue · comments

I'm not sure this is necessarily an issue: The current solution of linked_list_challenge.ipynb uses an iterative approach to getting the length of a linked list, resulting in an O(n) time complexity for that method. Another solution could be to have an instance variable, updating this variable whenever we insert_to_front(), append(), or delete() and return this variable whenever we call the length method (thus O(1)) . I'm not a python expert, so I don't know how "Pythonic" this solution is, but I got it working in my notebook and can submit a PR if this is appropriate

Yeah, I thought about that too. Though I'm also not a Python expert, I've seen a similar solution in the book "Data Structures and Algorithms in Python" by Goodrich et al.

I made PR #227 to address this. Also added a test for an edge case- deletion of the head node of a linked list